2012-08-06 73 views
0

電子郵件,我有一些代碼來發送電子郵件在我的App_Code目錄:間歇性問題 - 重複發送

昏暗的消息Mail.MailMessage =新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) 

的問題是一些用戶會間歇性地收到重複的電子郵件。它似乎不是一個代碼問題。當我瀏覽代碼時,我可以看到發送電子郵件的電話只會觸發一次。我想也許這個代碼是在Page_Load中被調用的,但是通過代碼逐步顯示Page_Load在我的按鈕點擊事件之前觸發。

我想知道這是不是我們的SMTP中繼上的問題;如果是這樣,有沒有人知道我應該告訴我的服務器管理員監控的事情?

編輯

有一些代碼,發送電子郵件之前檢查兩個表單字段的值。第二個字段在頁面加載期間更新,我可以看到如果這些值相同,則不會觸發電子郵件。當我做出改變時,電子郵件會被髮送,但我總是隻有一個。

+2

你確定用戶沒有雙擊該按鈕嗎?還有很多人這樣做... – 2012-08-06 20:23:30

+0

嗨E.J. - 積極的是沒有發生。我已經點擊了兩次按鈕,它會在我的開發站點上發送一封電子郵件給我。那是我想到的第一件事。 – Tim 2012-08-06 20:32:34

回答

0

恕我直言,你的第一步應該是將問題隔離到代碼或交換服務器。您可以通過向代碼添加一些日誌記錄來完成此操作。

每次通過代碼發送電子郵件時,請記錄此事件以及所有相關信息(例如:發送日期,電子郵件地址,發送電子郵件的過程等)。

現在,當您收到重複的電子郵件時,您可以檢查您的日誌以查看代碼是否多次發送電子郵件。

在開始深入研究問題之前,將這一事實分離出來,一定會爲您節省一些時間來發現問題。

+0

原來是舊的Exchange服務器。已知服務器間歇地發送多份電子郵件(重複,有時甚至一式三份)。將它更新到我們的新硬件可能會解決問題。 – Tim 2012-08-07 14:45:33