2011-04-05 58 views
5

我有一個使用smtp協議發送電子郵件的客戶端。客戶端可以配置爲支持任何支持smtp的郵件服務器(例如:Gmail,雅虎)。使用smtp發送電子郵件並設置消息ID

現在,在從客戶端發送郵件的同時,我在標題中設置了「message-id」。現在,我的問題是,郵件服務器是否確保在實際轉發郵件之前,郵件服務器不會重置(或替換)郵件頭中由我設置的郵件ID。

例如:假設我的客戶端配置爲「[email protected]」。現在我想發送郵件到「[email protected]」。因此,客戶端將message-id設置爲「[email protected]」並使用smtp發送郵件。

所以,現在當gmail發送此消息給雅虎時,它是否保證我的消息id將被保留。

由於 注:Kunal

回答

0

消息ID被用來理解該消息的始發服務器。從技術上講,這是由處理您的消息的第一個消息服務器設置的。一旦設置,這不會被隨後的服務器插入。在你的情況下,你的smtp客戶端充當了始發服務器,服務器不會干涉它。

(你在與消息ID反正這樣做。)

+0

謝謝,我想保留消息標識,以便以後可以將此郵件與後來收到的郵件相關聯(使用「依賴於」標頭)。我會堅持這個消息與我在客戶端。然後,我的客戶端也實現了一個POP3協議,用於從郵件服務器中獲取郵件。然後,我將使用持久的messageId將它與傳入郵件的「in-reply-to」標題進行比較以關聯郵件。所以,如果郵件服務器改變了messageId,那麼將無法將它們關聯起來。那麼有沒有什麼好的方法呢? – Kunal 2011-04-06 05:11:27

+0

由於您的ISP的SMTP服務器將(很可能)爲您創建此ID,爲什麼不使用它創建的?這就是今天的電子郵件客戶端如何管理線程/對話。 – 2012-11-06 16:33:16

+0

您可以嘗試使用Gmail的方法:只要在隨後的電子郵件中設置了參考/回覆郵件標題,它就會根據修剪主題對郵件進行分組(即移除RE:/ FW:等),即使這些標題(s)包含虛假值。 – 2013-05-20 20:45:45

5

郵件ID是郵件系統分配的第一次創建消息時的唯一字符串。這在大多數情況下也是可僞造的,但需要比鍛造From:行更多的專業知識。此外,Message-ID:通常標識發件人從中登錄的系統,而不是發送消息的實際系統。

長話短說:您的客戶可以設置它,但不能保證它會保持這種狀態。