2011-02-16 27 views
2

我試圖通過Google Apps電子郵件帳戶發送郵件。這是在我自己的域上設置的,並且通過Web界面和Outlook都可以正常工作。什麼可能導致使用C#的SMTP SMTP發送的消息不會到達 - 不會引發異常

不過,我想用C#從網頁發送一封電子郵件,我沒有得到任何的異常,一切似乎順利,但電子郵件似乎永遠到達:

MailMessage msg = new MailMessage("[email protected]", "[email protected]"); 
    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); 
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtp.Credentials = new NetworkCredential("[email protected]", "xxxxxxxxx"); 
    smtp.EnableSsl = true; 
    msg.IsBodyHtml = true; 
    msg.Body = body; 

    smtp.Send(msg); 

的主體是我之前在代碼中生成的字符串。據我所知,如果在Gmail上實際連接到SMTP服務器時出現問題,那麼我會得到一個異常。

任何想法可能導致這不起作用?只有與其他人相比,我可以看到的不同之處在於,我已將body設置爲HTML,並且正在從Google Apps帳戶而不是@ gmail.com帳戶發送。

谷歌應用程序本身都配置完全和工作,我已經設置了很多次,所以我知道這不可能是一個問題。

我也嘗試在端口25上發送,因爲這是您配置Outlook從Gmail帳戶發送時使用的內容。

同樣的結果,沒有例外拋出,但電子郵件永遠不會到達。發件人和收件人都使用Google Apps for Gmail在我的域名中發送了電子郵件。

編輯:

而且我要指出,我在使用這兩個帳戶已經簽署,並在他們的設置等

新發現

雙方都IMAP和POP啓用這是一個奇怪的

如果我從手動發送郵件:

[email protected] to [email protected] - Then it works 

But if I send it through code this way...it doesn't work... 

如果我通過代碼發送以下它的工作:

[email protected] to [email protected] or [email protected] - This works through code! 

我會再引導他們認爲這意味着[email protected]接收消息的問題...但它接收發送的任何消息從我試過的任何谷歌,hotmail或ntlworld電子郵件地址手動。

因此,無論谷歌Apps帳戶無法接收通過代碼發送的電子郵件(不太可能)或別的東西,在這裏打球

+2

它是否位於垃圾郵件文件夾中? – 2011-02-16 22:52:33

回答

0

當您安裝谷歌企業應用套件,即使MX記錄都是從其他帳戶手動發送郵件/正常工作,可以有仍然是問題。

答案是在設置MX記錄後等待12-24小時,即使其他所有工作都正常。

如果您沒有收到任何異常,那麼對我而言,這是目前唯一的答案。

現在所有工作都正常。即使所有MX記錄在我的DNS上正確,並且電子郵件似乎正常工作,但後臺仍在發生變化

3

服務器可能就丟棄您的消息,如果有出了問題。 - 儘管有其他規範說明。

即使「交付」,該消息可能會在以太網中丟失。

SMTP服務器可能是套用嚴重的過濾,可能還需要您的發件人和目標電子郵件地址匹配「正確」

我建議用不同的SMTP主機嘗試只是爲了檢查。:)