【发布时间】:2016-04-24 22:29:14
【问题描述】:
我想在客户验证命令后向管理员发送邮件,但是当单击按钮验证器时,我收到此错误: 邮箱不可用的信件。服务器响应是:5.7.3 Requested Action aborted;用户未通过身份验证。 我在互联网上没有找到任何解决方案。
[HttpPost]
public async Task<ActionResult> Index2(LigneCommandeT LigneCommandeT , string submit)
{
switch (submit)
{
case "Ajouter" :
context.LigneCde.Add(LigneCommandeT);
context.SaveChanges();
return RedirectToAction("Index2");
break;
case "Valider" :
// var message = EMailTemplate("Welcome");
await MessageServices.SendEmailAsync("Namegmail.com", "Welcome!", "message");
return RedirectToAction("Index3");
break;
default :
return RedirectToAction("Index2");
break;
}
}
这是 SendMail 方法:
public async static Task SendEmailAsync(string email , string subject ,string message)
{
try
{
var _email="Name@gmail.com"; // sender's email
var _epass = ConfigurationManager.AppSettings["EmailPassword"]; // get our password from web.config
var _dispName = "Sabrine";
MailMessage MyMessage = new MailMessage();
MyMessage.To.Add(email);
MyMessage.From = new MailAddress(_email,_dispName);
MyMessage.Subject = subject ;
MyMessage.Body = message ;
MyMessage.IsBodyHtml = true;
using(SmtpClient smtp = new SmtpClient())
{
smtp.EnableSsl =true ;
smtp.Host = "smtp.live.com";
smtp.Port = 587 ;
smtp.UseDefaultCredentials = false ;
smtp.Credentials = new NetworkCredential(_email,_epass);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.SendCompleted += (s,e) => {smtp.Dispose();} ;
await smtp.SendMailAsync(MyMessage);
}
}
catch(Exception ex)
{
throw ex ;
}
这是 Web.config 的一部分:
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="EmailPassword" value="" />
</appSettings>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network enableSsl="true" host="smtp.live.com" port="587" defaultCredentials="false" userName="Name@gmail.com" password=""/>
</smtp>
</mailSettings>
谢谢,
【问题讨论】:
-
你的配置中没有设置任何密码
-
我设置了密码,并将“smtp.live.com”更改为“smtp.gmail.com”,但出现此错误:SMTP 服务器需要安全连接或客户端未通过身份验证.服务器响应为:5.5.1 需要身份验证。
标签: asp.net-mvc