【发布时间】:2014-04-08 23:46:09
【问题描述】:
我几乎尝试了网上所有可用的示例,但仍然无法正常工作,每当我点击提交按钮时,它都会显示此错误,请任何人帮助我解决此问题
protected void btnsubmit_Click(object sender, ImageClickEventArgs e)
{
DAL.s_email = txtforget.Text;
DataTable dt = new DataTable();
dt = BAL.forgot_pass(DAL);
if (dt.Rows.Count > 0)
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.From = new MailAddress("my@email.com");
msg.To.Add(txtforget.Text);
msg.Subject = "Yor Password details";
msg.Body = "Hi,<br>Please check your Login Details<br/><br/> Your Username : " + dt.Rows[0]["Username"] + "<br/><br/> Your Password " + dt.Rows[0]["Password"] + "<br/><br/>";
msg.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("my@email.com", "****");
smtp.Send(msg);
Label2.Text = "your username and password is sent";
txtforget.Text = "";
}
else
{
Label2.Text = "Email is not registered";
}
}
网络配置
<system.net>
<mailSettings>
<smtp from="my@email.com">
<network host="smtp.gmail.com" password="****" port="587" userName="my@email.com" defaultCredentials="false" enableSsl="true"/>
</smtp>
</mailSettings>
</system.net>
【问题讨论】:
-
什么是错误?显示出来。
-
SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证
-
你用
EnableSsl=false试过了吗? -
是的,但它给出了错误 - SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是: 5.7.0 必须首先发出 STARTTLS 命令。 dk1sm19134965pbc.46 - gsmtp
-
您的代码确实有效,我使用自己的 gmail 凭据进行了尝试,效果很好。只需再次检查您的凭据,确保用户名或密码有错误。还要确保您是从 gmail 帐户发送的。
标签: asp.net email c#-4.0 smtpclient