我想知道如何在重定向到另一个页面之前检查电子邮件是否已正确发送。因为如果它不快,它将在请求完成之前重定向..
while (reader.Read())
{
Fct.SendEmail("test.test.com", "test.test.com", "Maxime", userEmail, "email@myemail.com", "Access to our portal / Your password", body);
}
Response.Redirect("Logon.aspx");
这是我的函数发送电子邮件:
public void SendEmail(string smtpServer, string mailFrom, string mailFromDisplayName, string mailTo, string mailCc, string subject, string body)
{
try
{
using (SmtpClient client = new SmtpClient(smtpServer))
{
string to = mailTo != null ? string.Join(",", mailTo) : null;
string cc = mailCc != null ? string.Join(",", mailCc) : null;
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.From = new MailAddress(mailFrom, mailFromDisplayName);
mail.To.Add(to);
if (cc != null)
{
mail.Bcc.Add(cc);
}
mail.Subject = subject;
mail.Body = body.Replace(Environment.NewLine, "<BR>");
mail.IsBodyHtml = true;
client.Send(mail);
}
}
catch (Exception ex)
{ ex.ToString(); }
}
答案 0 :(得分:1)
邮件在发货前被放入队列 - 通常是在c:\ inetpub \ mailroot \
当轮询器收到消息时,如果邮件发送失败,它会将其放入badmail文件夹中 - 因此请检查此文件夹是否有失败。
client.Send(msg)只有在无法创建消息时才会出错 - 一旦创建了SMTP服务器要处理的电子邮件,它就不会因错误的电子邮件地址或任何其他错误而出错。