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\にあります

ポーラーがメッセージを取得すると、メールの送信が失敗した場合にメッセージをbadmailフォルダーに配置します。そのため、このフォルダーに失敗がないか確認してください。

client.Send(msg)は、メッセージを作成できない場合にのみエラーになります。SMTPサーバーが処理する電子メールを作成した後は、不正な電子メールアドレスやその他のエラーについてはエラーになりません。

于 2012-04-30T10:31:19.490 に答える