0

我想知道如何在重定向到另一个页面之前检查电子邮件是否已正确发送。因为如果它不快,它会在请求完成之前重定向..

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(); }
    }
4

1 回答 1

1

邮件在发送之前被放入队列中 - 通常位于 c:\inetpub\mailroot\

当轮询器收到邮件时,如果邮件发送失败,它会将其放入死信文件夹 - 因此请检查此文件夹是否有故障。

client.Send(msg) 仅在无法创建消息时才会出错 - 一旦创建了电子邮件以供 SMTP 服务器处理,它不会因错误的电子邮件地址或任何其他错误而出错。

于 2012-04-30T10:31:19.490 回答