我有一个功能,该功能可在确认订单后向客户发送一封包含订单详细信息的电子邮件,该功能是一个异步任务,仅使用SmtpClient
。
问题在于,当我在VS 2019中进行调试时,邮件已发送,但是当我尝试将服务托管到本地IIS时,则没有邮件发送。
我的功能如下:
public static async Task<bool> SendRiepilogoAsync(string piva, int idOrdine)
{
var order = GetOrdine(piva, idOrdine);
if (order == null)
{
return false;
}
try
{
...
using var smtp = new SmtpClient("smtps.aruba.it", 587)
{
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
EnableSsl = true,
Credentials = new NetworkCredential("xxx", "xxx")
};
await smtp.SendMailAsync(message);
}
catch (Exception e)
{
return false;
}
ConfirmEmail(piva, idOrdine);
return true;
}
它是通过这样的同步函数(confirmOrder)调用的:
var emailTask = EmailHelper.SendRiepilogoAsync(piva, int.Parse(orderID));