Click here to Skip to main content
15,879,326 members
Articles / Desktop Programming / System
Tip/Trick

Using Gmail Account to Send Emails With Attachment

Rate me:
Please Sign up or sign in to vote.
4.76/5 (70 votes)
26 Sep 2013CPOL 152.7K   110   36
Sending Email using Gmail account from your application.

The following piece of code will let you send email using the Google server. Just replace the network credentials with your Google user name and password.

C#
//Short Method
try
{
    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = new NetworkCredential("username", "password");
    smtp.EnableSsl = true;
    smtp.Send("sender@gamil.com", "receiver", "subject", "Email Body");
}
catch(Exception ex)
{
    Console.WriteLine(ex.Message);
}
C#
//Detailed Method
try
{
    MailAddress mailfrom = new MailAddress("sender@gmail.com");
    MailAddress mailto = new MailAddress("receiver@abc.com");
    MailMessage newmsg = new MailMessage(mailfrom, mailto);

    newmsg.Subject = "Subject of Email";
    newmsg.Body = "Body(message) of email";

    //For File Attachment, more file can also be attached
    Attachment att = new Attachment("C:\\...file path");
    newmsg.Attachments.Add(att);

    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = new NetworkCredential("username","password");
    smtp.EnableSsl = true;
    smtp.Send(newmsg);    
} 
catch(Exception ex)
{
    Console.WriteLine(ex.Message);
}

Note: Before providing the credentials, you need to set UserDefaultCredentials to false. The above mentioned settings are for Gmail, but you can also use other SMTP servers like Yahoo!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Pakistan Pakistan
I am a learner.

Comments and Discussions

 
QuestionCould you give a VC++ version of this code? Pin
wwa2021-Jun-19 9:19
wwa2021-Jun-19 9:19 
GeneralMy vote of 3 Pin
mkdir22-May-14 18:40
mkdir22-May-14 18:40 
GeneralMy vote of 5 Pin
Gun Gun Febrianza27-Nov-13 8:46
Gun Gun Febrianza27-Nov-13 8:46 
GeneralMy vote of 1 Pin
VMAtm30-Sep-13 3:21
VMAtm30-Sep-13 3:21 
GeneralMy vote of 5 Pin
Sk. Tajbir26-Sep-13 23:17
Sk. Tajbir26-Sep-13 23:17 
Questionwhy i have this error?? Pin
ma.amer4-Apr-12 0:58
ma.amer4-Apr-12 0:58 
GeneralReason for my vote of 2 u missed namespase, using System.Net... Pin
Harith Randika14-Jan-12 5:06
Harith Randika14-Jan-12 5:06 
GeneralReason for my vote of 2 So Simple Pin
Assil13-Jan-12 13:08
professionalAssil13-Jan-12 13:08 
Reason for my vote of 2
So Simple
GeneralRe: Reason for my vote of 2So Simple Pin
adriancs26-Sep-13 16:08
mvaadriancs26-Sep-13 16:08 
GeneralReason for my vote of 5 nice Pin
eduveliz261215-Dec-11 6:08
eduveliz261215-Dec-11 6:08 
GeneralThanks, I know this will be useful to me at some point. I r... Pin
athenatennis.com.sg9-May-11 18:27
athenatennis.com.sg9-May-11 18:27 
Generalnice one Pin
Shahriar Iqbal Chowdhury/Galib2-May-11 10:16
professionalShahriar Iqbal Chowdhury/Galib2-May-11 10:16 
Generalsimple and working, nice article... BTW, if we can work wit... Pin
madper26-Apr-11 7:59
madper26-Apr-11 7:59 
GeneralI just tried it and it works great! I've been trying to use ... Pin
Keith.Badeau9-Apr-11 18:53
Keith.Badeau9-Apr-11 18:53 
GeneralReason for my vote of 5 Had not realized until reading this ... Pin
cws2_na4-Apr-11 2:42
cws2_na4-Apr-11 2:42 
GeneralI haven't tried it yet but I plan to test it out as soon as ... Pin
Keith.Badeau1-Apr-11 8:54
Keith.Badeau1-Apr-11 8:54 
GeneralReason for my vote of 5 Excellent article, which IMHO should... Pin
DrABELL30-Mar-11 6:15
DrABELL30-Mar-11 6:15 
GeneralReason for my vote of 5 Very simple and cool! Pin
paladin_t29-Mar-11 18:20
paladin_t29-Mar-11 18:20 
GeneralReason for my vote of 4 Needed some using statements to make... Pin
SouthernILCode29-Mar-11 5:29
SouthernILCode29-Mar-11 5:29 
GeneralReason for my vote of 1 :( Pin
mustafabayer29-Mar-11 0:46
mustafabayer29-Mar-11 0:46 
GeneralRe: Reason for my vote of 1:( Pin
adriancs26-Sep-13 16:15
mvaadriancs26-Sep-13 16:15 
GeneralReason for my vote of 4 I could be generic. 4/5 Pin
Abdul Quader Mamun28-Mar-11 16:39
Abdul Quader Mamun28-Mar-11 16:39 
GeneralReason for my vote of 4 nc snippet Pin
C.Sniper27-Mar-11 23:09
C.Sniper27-Mar-11 23:09 
GeneralReason for my vote of 5 thanx Pin
rahulkinikar22-Mar-11 3:07
rahulkinikar22-Mar-11 3:07 
GeneralComment from Shahil shaikh351: hi...... Abdur Rehman Raza K... Pin
Sandeep Mewara22-Mar-11 2:25
mveSandeep Mewara22-Mar-11 2:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.