I have been trying for 2 days to get my ASP.NET webforms application to send an e-mail.
I have tried this using both outlook and gmail. I got the smtp information for both from this tutorial:
When I try using port 587 in the example below I get an error saying: An exception of type 'System.Net.Mail.SmtpException' occurred in System.dll but was not handled in user code Additional information: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required.
When I try using port 465 in the example below: My application just hangs forever and my page never gets back my email function which is in the PageLoad.
A couple of things to note just incase one of these is messing me up:
- I am using a standard VS2013 dev environment (running my web app in debug mode using F5)
- I am using the same e-mail address for from, to, and gmail login credentials)
- My ISP does not block these ports. (comcast cable)
I even went to the google DisplayUnlockCaptcha page to Allow access to my account
protected void SendEmail() { string EmailAddress = "myemail@gmail.com"; using (MailMessage mailMessage = new MailMessage(EmailAddress, EmailAddress)) { mailMessage.Subject = "This is a test email"; mailMessage.Body = "This is a test email. Please reply if you receive it."; SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.EnableSsl = true; smtpClient.Host = "smtp.gmail.com"; smtpClient.Port = 587; smtpClient.Credentials = new System.Net.NetworkCredential() { UserName = EmailAddress, Password = "password" }; smtpClient.UseDefaultCredentials = false; smtpClient.Send(mailMessage); } }
It turns out that it is because of a GMail security setting. https://www.google.com/settings/security/lesssecureapps
You have to enable access for less secure apps.
This code should work fine for you
You'll need to set the delivery mode otherwise gmail will return an error
EDIT:
Throwing an 'using' around 'MailMessage' might also be a smart thing to do
http://www.c-sharpcorner.com/UploadFile/47548d/how-to-send-bulk-email-using-Asp-Net/