【发布时间】:2015-08-01 07:11:56
【问题描述】:
我必须使用我的网络应用程序发送邮件。鉴于以下代码显示The SMTP server requires a secure connection or the client was not authenticated. The server response was:
5.7.57 SMTP;在 MAIL FROM 期间,客户端未通过身份验证发送匿名邮件。
帮助我找到合适的解决方案。谢谢。
代码:
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);
}
}
}
【问题讨论】:
-
为什么不增加超时时间?
-
您是否对此进行了匿名处理,或者您是否真的尝试使用该登录名通过 office.com 发送?
-
@reshma,你做了什么改变?面临同样的问题。
-
我已经能够发送带有所示 SMTP 配置的电子邮件,但我移动了 smtp.UseDefaultCredentials = false;在 smtp.Credentials = ... 之前,Kiquenet 写在下面