我試圖找到一個解決方案,這有任何運氣,所以我決定在這裏發佈。當通過JavaMail發送郵件時正在替換消息標識
問題是,當我使用javaMail發送郵件時,它會自動生成一個Message-Id(我將其存儲到我的數據庫中以識別對此郵件的回覆),但由於某些原因服務器當消息發送,所以我不能跟蹤任何與此消息相關的信息。
例如
我第一次通過Gmail發送消息給我的郵件客戶端sycronized其中一個帳戶,然後我檢查的消息,我的消息客戶端,一切都OK郵件ID是
然後,我通過我的消息客戶端發送該郵件的回覆,由JAVAMAIL生成的ID是
最後,當我去檢查的回覆我的電子郵件帳戶,它有它的頭以下值
Message-ID: <[email protected]>
失敗
In-Reply-To: <[email protected]om>
OK
正如你看到的,郵件ID改變,我期待它是
這究竟是爲什麼?
我感謝所有幫助
謝謝大家
- 編輯
根據sugestions我使用smtpsend演示從JAVAMAIL做了一個試驗(我實現的MimeMessage的子類來生成自己的留言-ID)。
java -jar -Dmail.smtp.starttls.enable=true -Dmail.smtp.port=587 SMTPSend.jar -d -M smtp.live.com -U myaccount[email protected] -P mypass -o [email protected] -A [email protected]
smtpsend輸出之間發送消息時,又出現了郵件ID生成
但是,當我去檢查該消息上[email protected],郵件ID是不同
爲什麼它是否正在改變我的Message-Id ...我不明白
- 編輯2
我注意到,現在的問題只是發生的事情時,我從一個Hotmail帳戶 消息ID不再改變,當我從Gmail帳戶發送電子郵件(發送郵件我認爲,實現我自己的消息ID生成方法有助於解決)
感謝回答
我看到同樣的事情與Outlook/Hotmail現在使用C#和OpenPop。 Message-ID至少部分基於發送它的SMTP服務器被ID覆蓋。例如...'Message-ID:<[email protected]> BLU0-SMTP238.phx.gbl通過Microsoft SMTPSVC(6.0.3790.4675)通過TLS安全通道從myBox([111.111.111.111])收到: ;'都是'BLU0-SMTP238'。 /嘆了口氣,最後我在電子郵件中添加了另一個標題,其中包含我已知的用於hotmail/outlook的唯一字符串。 – ruffin
從Microsoft電子郵件帳戶發送時,我遇到同樣的問題。你有沒有解決你的問題? –