这些天我收到电子邮件时经常看到这样的电子邮件标题:
Received: by FQDN (Postfix, from userid $USERID)
这是否意味着人们可以通过 SSH 访问他们的 VPS 并从那里发送电子邮件或者有没有办法通过 VPS 从我的本地计算机转发电子邮件?
基本上,当我通过 SMTP 发送电子邮件并希望使用 VPS 地址时,我想执行相同的操作来隐藏我的 IP 地址。
答案1
假设您通过 VPS 进行中继,如果您想从通过 Postfix 中继的电子邮件中删除一些标头,这相当简单。
/etc/postfix/header_checks
创建一个名为以下内容的新文件:/^Received:.*with ESMTPSA/ IGNORE
重建查找表:
# postmap /etc/postfix/header_checks
编辑
/etc/postfix/main.cf
并添加以下行:smtp_header_checks = regexp:/etc/postfix/header_checks
重启postfix(这里假设是Debian/Ubuntu):
# /etc/init.d/postfix restart
当您现在发送电子邮件时,您应该会看到除最后一封之外的所有内容已收到标头已删除。
答案2
理解这一点的最好方法是尝试自己使用不同的方法发送邮件。
我发现 UID 的变化基于两个因素(但可能还有更多)。
- 如果脚本使用
sendmail
二进制文件,那么它将反映调用该脚本的用户的 UID。 - 如果脚本直接使用 SMTP 连接,它将使用 MTA 的 UID。
答案3
两个想法:
在 VPS 上设置代理(使用 SSH 端口转发、nc 或某种不添加接收标头的 SMTP 转发器)。
编写一个在 VPS 上运行的程序,让它从您那里获取电子邮件,然后在本地注入电子邮件(从命令行使用 sendmail/postfix 或让它连接到本地主机端口 25)。
答案4
这些标头由邮件在到达目的地时所接触的服务器自动添加。如果您希望显示 VPS 的服务器名称,则应在本地邮件配置中将 VPS 用作“智能中继”。对于sendmail,这是通过/etc/mail/sendmail.cf 文件中的SMART_HOST 定义来完成的。然后,您需要确保您的 VPS 能够正确转发仅来自您的邮件,并且不在任何类型的黑名单中(根据我的经验,这对于 VPS 来说很常见)。或者,您可以使用 VPS 作为邮件主机,并只需通过 IMAP 连接到它,而不需要本地 MTA。