Linux
使用者 ID 和主機名包含在電子郵件標題中
執行 Debian wheezy,我已將 exim4 配置為使用 smarthost smtp.gmail.com::587
我的 Google Apps 電子郵件地址和密碼已在 /etc/exim4/passwd.client 中配置,並且郵件正在發送正常…
但是,當(收件人)查看電子郵件標頭時,會出現以下資訊:
Received: from root by hostname。mydomain.com與本地(Exim 4.80)甚至發件人的使用者 ID 也包含在“發件人:”部分並顯示給客戶端:
發件人:root <no-reply@mydomain.com>如何確保電子郵件標頭中不包含標識使用者 ID 和主機名的資訊?可以將這些資訊刪除或製作成類似 localhost.mydomain.com 的通用資訊嗎?我不希望發件人的使用者 ID 顯示在 From: 部分中,我只需要返迴路徑電子郵件地址。
謝謝,任何幫助表示讚賞。
您無法消除該數據,因為它不是通過標頭提供的,而是在連接階段提供的,並且是安全 SMTP 會話所必需的。讓我們看看通常的 SMTP 會話:
/usr/home/me > telnet localhost 25 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 хххх.rv.ua ESMTP SERVER - Sat, 21 Dec 2013 15:43:31 +0200 HELO me@some.tld 250-хххх.rv.ua Hello me@some.tld [127.0.0.1] MAIL FROM: me@some.tld 250 OK RCPT TO: root@хххх.rv.ua 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Fuzzy-Header-Just-For-Fun: wow! Subject: Manually generated message Header-Notice-About-SMTP: next line should be empty to seperate headers from body Here message body begins And lasting more and more . 250 OK id=1VuMqq-0006Zc-5W QUIT 221 хххх.rv.ua closing connection Connection closed by foreign host. /usr/home/me >
如您所見,接收 MTA 要求在 HELO 中提供發件人電子郵件。MTA 可以檢查電子郵件是否有效。如果 HELO 中提供的發件人電子郵件是非法的,那麼大多數 MTA 都會將該郵件視為垃圾郵件。此外,MTA 僅通過網路連接知道發件人的 IP 地址和主機名嗎?而且您無法隱藏該資訊。結果,下一個文件已被放入接收者郵箱:
Return-path: <me@some.tld> Envelope-to: root@xxxx.rv.ua Delivery-date: Sat, 21 Dec 2013 15:46:24 +0200 Received: from [127.0.0.1] (helo=me@some.tld) by xxxx.rv.ua with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <me@some.tld>) id 1VuMqq-0006Zc-5W for root@xxxx.rv.ua; Sat, 21 Dec 2013 15:46:24 +0200 Fuzzy-HEader-Just-For-Fun: wow! Subject: Manually generated message Header-Notice-About-SMTP: next line should be empty to seperate headers from body Message-Id: <E1VuMqq-0006Zc-5W@xxxx.rv.ua> From: me@some.tld Date: Sat, 21 Dec 2013 15:45:41 +0200 Here message body begins And lasting more and more
在這裡,我們可以看到在 SMTP 會話中手動提供的數據與通過接收 MTA 自動添加的數據之間的區別。