我的网站和电子邮件由共享主机托管。不幸的是,他们的服务器正在使用 CPanel,因此他们的垃圾邮件防护选项受到了限制。
我还有一个 VPS,用于测试和托管其他一些零碎的东西(为什么我不将 VPS 用于网站?我不想担心备份!) - 我可以将其用作我的MX 用于我的域,共享主机作为传输映射 - 我曾经运行自己的 dedi,因此已准备好 Puppet 模块用于邮件服务器。
VPS 主机要求我使用 Postfix 邮件中继,以确保我不会从他们的 IP 范围内发送垃圾邮件。
我可以同时使用 Postfixtransport_maps
和relay_host
指令来让我的 MX 将我的域的所有邮件转发到共享主机,但是通过 VPS 主机的中继?
我想要的结果的另一个例子:
example.com
有一个 MX 记录(为了理智)vps.example.com
vps.example.com
接收传入的邮件,然后查询transport_maps
并将其转发到最终目的地sharedhost.example.com
,使用中继relayvps.example.net
作为“下一跳”
我个人不想这样做。但是您可以像这样在您的 VPS 上使用转发地址:
然后将您的共享主机配置为 subdomain.example.org 的 MX。然后使用
transport_maps
/etc/postfix/transport
总而言之_用于
postmap
更新 transport.db 中的查找表postmap /etc/postfix/transport
。如果您需要中继的凭据,您可以在其中配置它们
/etc/postfix/saslpass
并用于
postmap /etc/postfix/saslpass
创建/更新查找表。在共享主机上添加子域并将邮件转发回原始地址。我不确定转发是否不会破坏 VPS 上的垃圾邮件保护。
是的,但是您需要在双方都编写一些脚本。
如果没有脚本,您将无法做到这一点,如果可以做到,那将是一个严重的安全漏洞(fe 邮件可以直接发送到防火墙后面的内部服务器)。
最简单的脚本解决方案是,如果您将要作为附件发送到另一封邮件中的邮件打包,然后发送到目标。在目标上,它由 .procmailrc 或类似文件等待,它提取附件并将其放入目标的外发邮件队列中。我在perl中做了两面。