这就是当我需要发送电子邮件时给我带来错误的方式。但此后给我的错误是这样的:
此时无法启动异步操作。异步
操作只能在异步处理程序中启动,或者
模块或页面生命周期中的某些事件期间。如果这
执行Page时发生异常,请确保该Page是
标记为 。此异常也可能表明
尝试调用“async void”方法,该方法通常不受支持
在 ASP.NET 请求处理中。相反,异步方法
应该返回一个任务,并且调用者应该等待它。
我从 MVC 开始就积累了经验,并使用类来跟踪页面的 ie 区域。我使用 SendAsync 的原因正是因为它发送电子邮件等的速度更快一些。
仅当我尝试向用户发送电子邮件时才会发生此错误。
public static void NewPassword(string mail, string name, string password)
{
MailDefinition oMailDefinition = new MailDefinition();
oMailDefinition.BodyFileName = "~/MailList/emailskabelon/NewPassword.html";
oMailDefinition.From = FromMail;
Dictionary<string, string> oReplacements = new Dictionary<string, string>();
oReplacements.Add("<<navn>>", name);
oReplacements.Add("<<password>>", password);
System.Net.Mail.MailMessage oMailMessage = oMailDefinition.CreateMailMessage(mail, oReplacements, new LiteralControl());
oMailMessage.Subject = NewpasswordTitle + WebsiteName;
oMailMessage.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient(AzureApi);
System.Net.NetworkCredential netcred = new System.Net.NetworkCredential(AzureName, AzurePassword);
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = netcred;
smtp.Port = Convert.ToInt32("25");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
using (var smtpClient = new SmtpClient())
{
smtp.SendAsync(oMailMessage, null);
}
}
我尝试这样做:
public static async NewPassword(string mail, string name, string password)
{
....
using (var smtpClient = new SmtpClient())
{
await smtp.SendAsync(oMailMessage, null);
}
我在这里看到:https://stackoverflow.com/a/35212320/7391454