在罕見的情況下我的電子郵件反彈與消息時,如何避免「沒有消息ID拒絕消息」 550-RFC2822說,所有的郵件應該有一個MESSAGE- ID標頭。 550大多數沒有它的郵件都是垃圾郵件,因此您的郵件已被拒絕。使用印SMTP
我試圖設定使用Message-ID頭:
IdMessage1.Headers.Values['Message-ID'] := id;
在這種情況下id爲在MYDOMAIN格式XXXXX的字符串。然而,這不是如何設置一個消息標識頭,或者它被我的smtp服務器(由我的isp託管)剝離。我注意到,從Outlook發送的電子郵件確實得到了一個消息ID,並且它們沒有被剝離。有沒有人有任何關於如何提供message-id頭部的建議,以免它被剝離?是否還有其他標題,我應該包括?我還通過電子郵件發送了我的isp,以防止它在他們的最終設置,但Outlook必須以某種方式做到這一點。
雷米,感謝您的信息。我現在使用額外的頭文件來設置message-id,它似乎可以工作,但是我也收到了In-Reply-To:設置爲相同的值。有什麼辦法可以避免這種情況,或者有意義嗎? – MarkF
是的,我的意思是'MsgId',抱歉。我已經更新了我的答案。 –
至於'In-Reply-To'頭,如果'TIdMessage.InReplyTo'屬性爲空,則它被設置爲與'Message-ID'頭相同的值。這是硬編碼的行爲,這是無法避免的。 「TIdMessage」表達了這樣一種信念,即客戶永遠無法生成他們自己的消息ID,這應該是服務器的責任。這種信念多年來一直受到質疑,但「TIdMessage」尚未相應更新。 –