运行 Debian wheezy,我已将 exim4 配置为使用 smarthost smtp.gmail.com::587
我的 Google Apps 电子邮件地址和密码已在 /etc/exim4/passwd.client 中配置,并且邮件正在发送...
但是,当收件人查看电子邮件标题时,会出现以下信息:
已收到:来自根经过主机名。我的域名与本地 (Exim 4.80)
甚至发件人的用户 ID 也包含在“发件人:”部分中并显示给客户端:
发件人:根<[电子邮件保护]>
如何确保电子邮件标头中不包含任何识别用户 ID 和主机名的信息?是否可以删除此信息或将其转换为类似 localhost.mydomain.com 的通用信息?我不希望发件人的用户 ID 显示在发件人:部分,我只想要返回路径电子邮件地址。
谢谢,任何帮助我都会感激。
答案1
您无法消除该数据,因为它不是通过标头提供的,而是在连接阶段提供的,并且对于安全 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 [email protected]
250-хххх.rv.ua Hello [email protected] [127.0.0.1]
MAIL FROM: [email protected]
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: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Sat, 21 Dec 2013 15:46:24 +0200
Received: from [127.0.0.1] ([email protected])
by xxxx.rv.ua with esmtp (Exim 4.82 (FreeBSD))
(envelope-from <[email protected]>)
id 1VuMqq-0006Zc-5W
for [email protected]; 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: <[email protected]>
From: [email protected]
Date: Sat, 21 Dec 2013 15:45:41 +0200
Here message body begins
And lasting more and more
这里我们可以看到 SMTP 会话中手动提供的数据和接收 MTA 自动添加的数据之间的区别。