我有一个使用gmail发送电子邮件的mvc应用程序。
我的代码:
成功发送电子邮件,提供:
如果我不使用我的有效gmail用户名pw,我会收到异常。 (这很好)。
我的问题和我的问题是: 当我的代码向无效的电子邮件帐户发送电子邮件时,我不会得到任何类型的例外!没有SmtpFailedRecipientException,没有SmtpFailedRecipientsException;缥缈。
为什么会这样?我需要更改哪些内容,以便在将电子邮件发送到无效的,不存在的帐户时收到异常?
我的MVC应用中的代码:
在Identity.cs中
public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
try
{
System.Web.Helpers.WebMail.Send(message.Destination, message.Subject, message.Body, "DoNotReply@ourcompany.com");
}
catch (Exception e)
{
throw; //Add msg here; set break point when testing; whatever
}
return Task.FromResult(0);
}
}
在AuthConfig.cs中,我有gmail帐户设置,我们知道这些设置。
System.Web.Helpers.WebMail.SmtpServer = "smtp.gmail.com";
WebMail.EnableSsl = true;
WebMail.UserName = "OurUserName";
WebMail.Password = "OurPW";
WebMail.From = "DoNotReply@OurCompany.com";
WebMail.SmtpPort = 587;
在我的控制器中,我有这个部分代码:
public async Task<ActionResult> Register(RegisterViewModel model)
{
try
{
await UserManager.SendEmailAsync(user.Id, emailSubject, emailBody);
}
catch (Exception e)
{
}
}
控制器首先运行。我使用asp.identity2(UserManager)和SendEmailAsync调用Identity.cs中的SendAsync。
感谢您的建议。
答案 0 :(得分:2)
Gmail不会让您知道哪些电子邮件地址无法向其发送电子邮件,以避免机器人查找有效的电子邮件地址。稍后您应该收到一封电子邮件,其中包含有关电子邮件地址失败的详细信息。