C# SMTP服务器需要安全连接,或者客户端未经过身份验证--连接超时
这个问题已经被问过了&我已经试过了在堆栈溢出中发现的每一件事&我的头撞到了墙上,不知道我到底在哪里出错,反正这是我的代码C# SMTP服务器需要安全连接,或者客户端未经过身份验证--连接超时,c#,email,email-validation,C#,Email,Email Validation,这个问题已经被问过了&我已经试过了在堆栈溢出中发现的每一件事&我的头撞到了墙上,不知道我到底在哪里出错,反正这是我的代码 using (MailMessage mm = new MailMessage("sender@gmail.com", txtEmail.Text)) { mm.Subject = "Account Activation"; string body = "Hello " + txtUsername.Text.Trim() + ","; body +=
using (MailMessage mm = new MailMessage("sender@gmail.com", txtEmail.Text))
{
mm.Subject = "Account Activation";
string body = "Hello " + txtUsername.Text.Trim() + ",";
body += "<br /><br />Please click the following link to activate your account";
body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("CS.aspx", "CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";
body += "<br /><br />Thanks";
mm.Body = body;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
NetworkCredential NetworkCred = new NetworkCredential("sender@gmail.com", "password");
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = NetworkCred;
smtp.Send(mm);
}
使用(MailMessage mm=新的MailMessage(“sender@gmail.com“,txtEmail.Text))
{
mm.Subject=“账户激活”;
string body=“Hello”+txtUsername.Text.Trim()+”,“;
body+=“
请单击以下链接激活您的帐户”;
正文+=“
”;
正文+=“
谢谢”;
mm.主体=主体;
mm.IsBodyHtml=true;
SmtpClient smtp=新SmtpClient();
smtp.Host=“smtp.gmail.com”;
smtp.Port=587;
smtp.EnableSsl=true;
smtp.UseDefaultCredentials=false;
NetworkCredential NetworkCred=新的网络凭据(“sender@gmail.com“,”密码“);
smtp.DeliveryMethod=System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials=NetworkCred;
smtp.Send(mm);
}
我尝试过将默认凭据更改为false,但我注意到,当我将端口号从587更改为465时,连接超时。我认为您可能过于复杂了。您不需要使用NetworkCredential。应该是这样的:
using (MailMessage mm = new MailMessage("sender@gmail.com", txtEmail.Text))
{
mm.Subject = "Account Activation";
string body = "Hello " + txtUsername.Text.Trim() + ",";
body += "<br /><br />Please click the following link to activate your account";
body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("CS.aspx", "CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";
body += "<br /><br />Thanks";
mm.Body = body;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 465;
smtp.ConnectType = SmtpConnectType.ConnectSSLAuto;
smtp.User = "gmailid@gmail.com";
smtp.Password = "yourpassword";
smtp.Send(mm);
}
使用(MailMessage mm=新的MailMessage(“sender@gmail.com“,txtEmail.Text))
{
mm.Subject=“账户激活”;
string body=“Hello”+txtUsername.Text.Trim()+”,“;
body+=“
请单击以下链接激活您的帐户”;
正文+=“
”;
正文+=“
谢谢”;
mm.主体=主体;
mm.IsBodyHtml=true;
SmtpClient smtp=新SmtpClient();
smtp.Host=“smtp.gmail.com”;
smtp.Port=465;
smtp.ConnectType=SmtpConnectType.ConnectSSLAuto;
smtp.User=”gmailid@gmail.com";
smtp.Password=“yourpassword”;
smtp.Send(mm);
}