发送电子邮件而不在标头中包含原始 IP 地址

发送电子邮件而不在标头中包含原始 IP 地址

这些天我收到电子邮件时经常看到这样的电子邮件标题:

Received: by FQDN (Postfix, from userid $USERID)

这是否意味着人们可以通过 SSH 访问他们的 VPS 并从那里发送电子邮件或者有没有办法通过 VPS 从我的本地计算机转发电子邮件?

基本上,当我通过 SMTP 发送电子邮件并希望使用 VPS 地址时,我想执行相同的操作来隐藏我的 IP 地址。

答案1

假设您通过 VPS 进行中继,如果您想从通过 Postfix 中继的电子邮件中删除一些标头,这相当简单。

  1. /etc/postfix/header_checks创建一个名为以下内​​容的新文件:

    /^Received:.*with ESMTPSA/              IGNORE
    
  2. 重建查找表:

    # postmap /etc/postfix/header_checks
    
  3. 编辑/etc/postfix/main.cf并添加以下行:

    smtp_header_checks = regexp:/etc/postfix/header_checks
    
  4. 重启postfix(这里假设是Debian/Ubuntu):

    # /etc/init.d/postfix restart
    

当您现在发送电子邮件时,您应该会看到除最后一封之外的所有内容已收到标头已删除。

答案2

理解这一点的最好方法是尝试自己使用不同的方法发送邮件。

我发现 UID 的变化基于两个因素(但可能还有更多)。

  1. 如果脚本使用sendmail二进制文件,那么它将反映调用该脚本的用户的 UID。
  2. 如果脚本直接使用 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。

相关内容