设置往返的 SMTP 中继

设置往返的 SMTP 中继

我家里有一个正在运行的 Postfix SMTP 服务器,由于 ISP 限制,无法发送或接收邮件。(没有传入端口 25,也没有传出端口)
我有一个带有公共 IP 的 VPS,我想用它将我的家庭邮件中继到互联网。

它应该是这样的:
接收邮件:Internet > VPS 中继 > 家庭服务器
发送邮件:家庭服务器 > VPS 中继 > Internet

我成功设置了可以正常工作的外发 postfix SMTP 中继。现在的问题是接收邮件:如果我告诉中继将收到的邮件发送到我的家庭服务器,它可以正常工作,但它也会将所有外发邮件发送回我的家庭服务器(家庭服务器会将其发送回中继,中继会将其发送回我的家庭服务器,...)

我尝试使用 SSH 隧道将 VPS 上的传入邮件转发到我的家庭服务器,这种方法有效,但也使其成为开放中继。(请求来自本地主机,因此一切都被允许)

我唯一需要知道的是如何告诉 postfix 将收到的邮件发送到我的家庭服务器并发送到互联网,但我无法找到它。

谢谢参观!

主服务器相关配置:postconf -n

myhostname = [*homeservers public dns name*] mynetworks = 127.0.0.0/8, [*my public relay's IP*]/32 mynetworks_style = subnet myorigin = $myhostname relay_domains = $mydestination relayhost = [*my public relay's domain name*]:587

VPS服务器相关配置:postconf -n mydestination = localhost myhostname = [*VPS public dns name*] mynetworks = 127.0.0.0/8, [*home server public ip*]/32 mynetworks_style = subnet relay_domains = soft_bounce = yes transport_maps = hash:/etc/postfix/transport

答案1

问题是您没有设置“mydestination”,因此它默认为我的主机名的值,而不是您尝试接收邮件的域名,并且拒绝其他电子邮件作为非本地邮件。

答案2

我找到解决办法了!

对于那些想知道的人:我在同一台主机上添加了第二个 postfix 服务器,并使用一个用于接收邮件,一个用于发送邮件。

相关内容