我无法弄清楚为什么这不起作用的生活
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
UseDefaultCredentials = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential("myemail@gmail.com", "myGmailPasswordHere"),
EnableSsl = true,
Timeout = 10000
};
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)
我明白了:
SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证.
我刚刚将EnableSsl指定为true,因此在安全连接方面不应该是问题.
我是从localhost运行的.是的,我输入auth(我的gmail帐户凭据)的用户名和密码是100%正确的.
我运行此代码时出现问题,然后发生错误"SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应为:5.5.1需要身份验证."
我的代码是:
码
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
MailMessage mail = new MailMessage();
mail.To.Add("info@msslindia.com");
mail.From = new MailAddress("info@msslindia.com");
string body = "<table><tr><td>Company Name:</td><td>" + txt_cname.Text + "</td></tr><tr><td>Address With No.:</td><td>" + txt_addwithno.Text + "</td></tr><tr><td>Contact Person:</td><td>" + txt_conperson.Text + "</td></tr><tr><td>Email Id</td><td>" + txt_email.Text + "</td></tr><tr><td>Description</td><td>" + txt_description.Text + "</td></tr></table>";
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("info@msslindia.com", "12345");
smtp.EnableSsl = true;
smtp.Send(mail);
txt_cname.Focus();
txt_cname.Text = …Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到需要身份验证的smtp服务器.
这是我用来发送电子邮件的C#代码:
var smtpClient = new SmtpClient();
smtpClient.Host = _smtpServerHost;
smtpClient.Credentials = new NetworkCredential(_username, _password);
smtpClient.UseDefaultCredentials = false;
smtpClient.Send(GetMessage());
Run Code Online (Sandbox Code Playgroud)
send函数引发了错误:
The SMTP server requires a secure connection or the client was not authenticated.
The server response was: Must authenticate before sending mail
Run Code Online (Sandbox Code Playgroud)
是否有一个我缺少连接到smtp服务器的步骤?
我试图连接到我们运行的测试服务器但是没有用.我也尝试连接到smtp4dev.当我不需要身份验证时,我可以连接到它,但是当我需要身份验证时,我可以连接到它.