【发布时间】:2017-01-09 04:54:44
【问题描述】:
我有一个使用 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。
感谢您的建议。
【问题讨论】:
标签: c# model-view-controller gmail asp.net-identity-2 smtpclient