Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

5.7.57 SMTP - Client was not authenticated to send anonymous mail during MAIL FROM error

Tags:

c#

timeout

smtp

I have to send mails using my web application. Given the below code showing The SMTP server requires a secure connection or the client was not authenticated. The server response was:

5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM.

Help me to find a proper solution. Thank you.

Code:

protected void btnsubmit_Click(object sender, EventArgs e)  {     Ticket_MailTableAdapters.tbl_TicketTableAdapter tc;    tc = new Ticket_MailTableAdapters.tbl_TicketTableAdapter();    DataTable dt = new DataTable();    dt = tc.GetEmail(dpl_cate.SelectedValue);    foreach (DataRow row in dt.Rows)     {     string eml = (row["Emp_Email"].ToString());     var fromAddress = "emailAddress";     var toAddress = eml;     const string fromPassword = "*****";     string body = "Welcome..";  // smtp settings     var smtp = new System.Net.Mail.SmtpClient();        {          smtp.Host = "smtp.office365.com";          smtp.Port = 587;          smtp.EnableSsl = true;           smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;          smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);          smtp.UseDefaultCredentials = false;          smtp.Timeout = 600000;        }   // Passing values to smtp object      smtp.Send(fromAddress, toAddress, subject, body);      }   }   } 
like image 370
Reshma Avatar asked May 20 '15 07:05

Reshma


2 Answers

You seem to be passing the From address as emailAddress, which is not a proper email address. For Office365 the From needs to be a real address on the Office365 system.

You can validate that if you hardcode your email address as the From and your Office 365 password.

Don't leave it there though of course.

like image 136
Joe Vargas Avatar answered Sep 24 '22 02:09

Joe Vargas


@Reshma- In case you have not figured it yet, here are below things that I tried and it solved the same issue.

  1. Make sure that NetworkCredentials you set are correct. For example in my case since it was office SMTP, user id had to be used in the NetworkCredential along with domain name and not actual email id.

  2. You need to set "UseDefaultCredentials" to false first and then set Credentials. If you set "UseDefaultCredentials" after that it resets the NetworkCredential to null.

Hope it helps.

like image 25
Navneet Avatar answered Sep 22 '22 02:09

Navneet