Jas*_*Cav 5 c# asp.net email asp.net-core
我正在通过C#发送邮件SmtpClient.SendMailAsync,但出现了一些非常奇怪的行为。
当我拨打SendMailAsync该电子邮件的电话时-每次都会收到。但是,我的申请永不返回。它似乎挂了,await而我对它为什么不回来没有真正的了解。如果我改用using Send,则邮件会立即发送,当然,所有内容都会按我的预期完成。
这是我实际发送电子邮件的来源。
public async Task SendEmailAsync(string toAddress, string subject, string message)
{
using (var client = new SmtpClient(configuration["Email:Host"], Convert.ToInt32(configuration["Email:Port"])))
using (var mailMessage = new MailMessage(configuration["Email:FromAddress"], toAddress, subject, message))
{
client.Credentials = new NetworkCredential(configuration["Email:Username"], configuration["Email:Password"]);
client.EnableSsl = true;
mailMessage.IsBodyHtml = true;
try
{
await client.SendMailAsync(mailMessage);
}
catch (SmtpException)
{
throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
其他可能有用或无效的信息是我正在通过AWS SES发送这些电子邮件。无论我发送到哪个地址,都会发生相同的问题。我的链是异步的,一直到调用堆栈。我在OSX,ASP.NET Core 1上运行。
看来这是一个错误 - 根据评论中与 Federico Dipuma 的讨论,可能是 OSX 上的 Kestrel。解决方法是不异步发送邮件。
除非可以发现更多信息,否则将其标记为答案。
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |