Send Email from your GMAIL account using ASP.Net and C#

Send email using Gmail account

Download Sample

You can use your gmail account to send emails from ASP.Net and C#, using SMTP. You need to set SSL credentials. This is not straight forward like a simple SMTP email. After searching for long hours I was able to find a solution. Use following class to send emails using your GMAIL account.

Please supply your gmail user name and password in following class where needed.

using System.Web.Mail;
using System;
public class MailSender
{
 public static bool SendEmail(
 string pGmailEmail, 
 string pGmailPassword, 
 string pTo, 
 string pSubject,
 string pBody, 
 System.Web.Mail.MailFormat pFormat,
 string pAttachmentPath)
 {
 try
 {
 System.Web.Mail.MailMessage myMail = new System.Web.Mail.MailMessage();
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/smtpserver",
 "smtp.gmail.com");
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/smtpserverport",
 "465");
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/sendusing",
 "2");
 //sendusing: cdoSendUsingPort, value 2, for sending the message using 
 //the network.

 //smtpauthenticate: Specifies the mechanism used when authenticating 
 //to an SMTP 
 //service over the network. Possible values are:
 //- cdoAnonymous, value 0. Do not authenticate.
 //- cdoBasic, value 1. Use basic clear-text authentication. 
 //When using this option you have to provide the user name and password 
 //through the sendusername and sendpassword fields.
 //- cdoNTLM, value 2. The current process security context is used to 
 // authenticate with the service.
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
 //Use 0 for anonymous
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/sendusername",
 pGmailEmail);
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/sendpassword",
 pGmailPassword);
 myMail.Fields.Add
 ("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
 "true");
 myMail.From = pGmailEmail;
 myMail.To = pTo;
 myMail.Subject = pSubject;
 myMail.BodyFormat = pFormat;
 myMail.Body = pBody;
 if (pAttachmentPath.Trim() != "")
 {
 MailAttachment MyAttachment = 
 new MailAttachment(pAttachmentPath);
 myMail.Attachments.Add(MyAttachment);
 myMail.Priority = System.Web.Mail.MailPriority.High;
 }

 System.Web.Mail.SmtpMail.SmtpServer = "smtp.gmail.com:465";
 System.Web.Mail.SmtpMail.Send(myMail);
 return true;
 }
 catch (Exception ex)
 {
 throw;
 }
}
}



Example usage of this class,

EmailLib.SendEmail.SendEmail("your_gmail_id", 
                             "your_gmail_password", 
                             "to_email @ anydomain.com", 
                             "This is email subject" , 
                             "This is email body", 
                             Web.Mail.MailFormat.Text, 
                             "Physical path to your Attachment")


Note: If you do not want to attach a file with email, supply blank string as "".

Comments/Questions

Previous Questions Log

Hi Shabdar,

I am new to ASP.Net developement and I want to use my gmail account when sending password retrieval emails. I think the standard controls that visual web developer 2008 provide are really neat but I cant get the app to send the mail via gmail's SMTP.

How should i use your code in such a way that will allow me to send the mails that the controls generate via gmails smtp?
=> Gavin Lumsden (Sunday 20-Apr-08 08:38 AM)
Reply
Hi Shabdar,

I want to send email using my gmail account from my laptop. It is connected to the internet, but there is no SMTP service running on it. My question is:
Do i need SMTP service to be running on my laptop to be able to use your code to send email (via gmail account) ?
=> vivek (Tuesday 06-May-08 09:05 AM)
Reply
No, you don't need SMTP service running on your laptop/computer/server.
=> Shabdar (Tuesday 06-May-08 12:18 PM)
Reply
this was a fantastic article, it worked for me on the first try, however with VS 2008 it tells me some of the items are obsolete (works just find nonetheless)
=> jeff siegel (Saturday 10-May-08 12:39 AM)
Reply
You'have just solved me a problem of 2 days - thank you! where did you find this solution??
=> inna (Monday 19-May-08 12:33 PM)
Reply
Nice coding....
=> sammy (Thursday 07-Aug-08 05:04 AM)
Reply
Marvelous code
i got what i was looking for, thanks you are a gem
=> Gurpreet Singh (Friday 22-Aug-08 07:09 AM)
Reply
Hey,, Its a Gr8 code 4 me to handle email sending..

can u gv me idea how to send email from other than gmail.
or any email domain i can use to send email instead of inly using gmail.

Thanks in advance.
=> Praful (Friday 05-Sep-08 01:01 AM)
Reply
Hi i am tring to use this code in my hosting server.And it gives me "Mail sent successfully." but i am not recived the mail. Can you please help me out onthis.
ManiVannan.M
=> LiveMyResume (Tuesday 09-Sep-08 03:21 AM)
Reply
I downloaded your code project but when i click the send button i get a message "The transport failed to connect to the server" . plz suggest
=> surajit (Tuesday 16-Sep-08 02:43 AM)
Reply
when i trued ur code it is shiwing this error

"The transport failed to connect to the server"

kindly give me a solution for this problem

regards

revathy
=> Revathy (Wednesday 17-Sep-08 05:08 AM)
Reply
go to run>command prompt

and type : telnet smtp.gmail.com 465
if it fails then ur service provider is prohibiting the
use of of gmail.it might be the case i m not all that sure
but it might be the case.
=> surajit (Thursday 18-Sep-08 02:23 AM)
Reply
when i tried ur code it is showing this error

"The transport failed to connect to the server"

kindly give me a solution for this problem

regards

revathy
=> Revathy (Wednesday 17-Sep-08 05:11 AM)
Reply
please check ur internet connection.
=> abhi (Monday 01-Dec-08 08:46 AM)
Reply
Good article to send mails using gmailaccount.
goodjob . .
u
Thanks
Sudhir.M
=> sudhir malireddy (Thursday 25-Sep-08 12:57 AM)
Reply
This application is really good. Its works fine.
=> Chandrajit Samanta (Friday 24-Oct-08 03:59 AM)
Reply
I made on a framework 2.0 and it works perfectly... but i have an application in framework 1.0 unfortunally doesnt work... any idea?
=> Paulo Pil√£o (Wednesday 12-Nov-08 07:57 PM)
Reply
hi.,
we r creating a fresh project in asp.net with c#..,In that Project we have a one module for sending mail options.. help me
=> Ashik (Tuesday 18-Nov-08 05:10 AM)
Reply
Hi Shabdar,
It's really nice explanation given by you.... Thanks a lot. ..It really works well. Hope to see such excellent and simple code again....
You have really made our work very easy....It am reffering this site to my friends...
=> Ajay Kewale (Sunday 23-Nov-08 06:58 PM)
Reply
how to use yahoo mail server for send email?
=> abhi (Monday 01-Dec-08 08:45 AM)
Reply

Posted: 2 years 4 months ago by martinabinaford #259
martinabinaford's Avatar
hi tom i shouldnt give it out but i think this is the contact
and details, they have 20% discount now, mention marts recommened you
Posted: 2 years 9 months ago by dellmerca #198
dellmerca's Avatar
Here you can find sending email from asp.net from C# and vb.net

http://asp.net-informations.com/communications/asp-email.htm

merca.
Posted: 3 years 3 months ago by v.preethi7@gmail.com #119
v.preethi7@gmail.com's Avatar
Hi

I am new to asp.net

i got below error message
"The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available"

can you please explain the code for send email program.
Posted: 3 years 4 months ago by tjaank #112
tjaank's Avatar
you can contact me here:
http://www.codeshode.com/p/contact.html
Posted: 3 years 4 months ago by Awon #110
Awon's Avatar
Hello There

I come to know you about Sending Email using Asp.net-2(vb).

I have a url which can help you.

Click Here : http://www.raiseitsolutions.com/forum/viewtopic.php?f=4&t=14&sid=01f138a76b33beaaab9aa6f7722b115a

I hope it is enough for you.

Thank You

AWON
Posted: 3 years 4 months ago by michaelD #108
michaelD's Avatar
Hello,

This exactly what I am looking for.....is it possible to speak directly with you?

Thanks
Posted: 3 years 4 months ago by tjaank #106
tjaank's Avatar
check these for more understanding:

http://www.codeshode.com/2011/07/send-bulk-emails-using-c-vbnet-in.html
http://www.codeshode.com/2010/06/send-email-with-attachment-in-aspnet.html
http://www.codeshode.com/2010/06/send-email-using-gmail-in-aspnet.html