Using Gmail Account to Send Emails With Attachment - DOTNET

Using Gmail Account to Send Emails With Attachment

Using Gmail Account to Send Emails With Attachment


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.
//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);
}
//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!
Copyright © 2015 DOTNET All Right Reserved