【发布时间】:2016-11-19 04:00:11
【问题描述】:
我有一个相当奇怪的问题,我无法解决。所以这里是代码:
[HttpGet]
[AllowAnonymous]
public ActionResult SendEmail()
{
SendRegisterEmail("Test", "Testagain", "lastTest");
return View("Index");
}
public async Task<bool> SendRegisterEmail(string subject, string message, string to)
{
var email = new Email();
var mailAddress = new MailAddress(to);
email.Subject = subject;
email.Body = message;
var mailAddressCollection = new MailAddressCollection();
mailAddressCollection.Add(mailAddress);
email.To = (mailAddressCollection);
return await Send(email);
}
现在为了证明我的问题,我将代码分解为单行,以便查看它在哪一行中断。这是我发现的:
当我调试它并进入SendRegisterEmail 方法时,var mailAddress = new MailAddress(to); 行开始运行,然后它退出函数并运行return View("Index"); 行并加载页面。奇怪的是我在最后添加了一个日志方法到发送,并且日志永远不会被命中。我在 Send 上放了一个断点,它从未被击中。就好像电子邮件的创建崩溃了,决定退出到调用者函数并继续执行代码。
我不知道为什么。
【问题讨论】:
-
您分配给“to”的值不是有效的电子邮件地址。这可能会导致它退出函数,并且由于它是异步的,它会运行 return View 语句
标签: c# email asp.net-mvc-5 mailaddress