0

APP_CODE ディレクトリにメールを送信するためのコードがいくつかあります。

暗いメッセージとして Mail.MailMessage = New Mail.MailMessage(strFrom, strSendTo)

    Dim SMTP_Client As Mail.SmtpClient = New Mail.SmtpClient("mymailserver.mycompany.com")

    'Send email
    Try
        message.Priority = Mail.MailPriority.Normal
        message.IsBodyHtml = True
        message.Subject = strSubject
        message.Body = strBody & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "THIS IS AN AUTOMATED MESSAGE. DO NOT REPLY."
        SMTP_Client.Send(message)

問題は、一部のユーザーが断続的に重複した電子メールを受信することです。コードの問題ではないようです。コードをステップ実行すると、電子メールを送信するための呼び出しが 1 回だけ発生することがわかります。コードが Page_Load で呼び出されているのではないかと思いましたが、コードをステップ実行すると、ボタン クリック イベントの前に Page_Load が起動していることがわかります。

これが私たちの SMTP リレーの問題ではないかどうか疑問に思っています。もしそうなら、サーバー管理者に監視するように伝えるべきことを知っている人はいますか?

編集

電子メールを送信する前に、2 つのフォーム フィールドの値をチェックするコードがいくつかあります。2 番目のフィールドはページの読み込み中に更新され、値が同じである場合はメールがトリガーされないことがわかります。変更を加えると、電子メールが送信されますが、常に 1 つしか受信しません。

4

1 に答える 1

0

IMHO、最初のステップは、問題をコードまたは Exchange サーバーのいずれかに切り分けることです。これを行うには、コードにログを追加します。

電子メールがコードによって送信されるたびに、このイベントをすべての関連情報 (送信日、電子メール アドレス、電子メールを送信したプロセスなど) と共にログに記録します。

重複した電子メールを受信した場合、ログをチェックして、コードが電子メールを複数回送信したかどうかを確認できます。

問題を深く掘り下げる前に、この 1 つの事実を特定することで、問題を見つける時間を節約できます。

于 2012-08-06T21:14:01.773 に答える