我有 2 個電子郵件地址,我想將所有郵件從一個電子郵件地址路由(自動轉發)到另一個電子郵件地址。不幸的是,我的郵件客戶端上的這個功能停止工作了,我想創建一個小型控制臺應用程序來檢查我的電子郵件并每 10 分鐘自動轉發一次。我開始使用 Java Mail API 在 Java 中開發控制臺應用程序,但我在設置適當的 FROM 標頭時遇到了問題。當我設置原始發件人電子郵件地址并嘗試發送電子郵件時,SMTP 拋出異常:SMTP mail FROM does not match authenticated user name。它合乎邏輯,因為這樣我可以偽造電子郵件地址發件人,但我不希望電子郵件像我發送的那樣出現在另一封電子郵件中。出于多種原因需要這樣做:更容易閱讀當我想回復電子郵件時,我希望能夠回復我的原始發件人而不是我自己我已經使用 PHP 在我的網站聯系表單上實現了這一點,但我不知道如何在 Java 中做到這一點。我將嘗試以更簡單的方式解釋情況。我提出了 2 封電子郵件:[email protected]和[email protected]現在電子郵件來自[email protected]于[email protected]我想將電子郵件從轉發[email protected]到[email protected],但是當郵件到達[email protected] 標頭時,我想看到它來自[email protected](不是來自[email protected])我的問題是:這是否可能,如果可能,我如何將標頭 FROM 設置為原始發件人。
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
這完全取決于您的郵件服務器是否允許您向 [email protected] 發送郵件而不顯示它來自 [email protected]。大多數服務器不允許這樣做。
更簡單的解決方案是從 [email protected] 的收件箱中讀取消息,并使用 Folder.appendMessages 將其附加到 [email protected] 的收件箱中,而不是使用 Transport.sendMessage 重新發送。
添加回答
舉報
0/150
提交
取消