应用开发

使用 OpenSMTPD 将邮件中继到多个 smarthost

字号+作者:益华科技来源:应用开发2025-11-05 15:54:52我要评论(0)

我喜欢使用本地 SMTP 守护进程从我的笔记本电脑发送电子邮件,因为这样我即使在断开连接的情况下也可以发送电子邮件,而且,即使是在网络正常的情况下,因为我不需要等待网络协议在远程 smarthost

我喜欢使用本地 SMTP 守护进程从我的使用笔记本电脑发送电子邮件,因为这样我即使在断开连接的邮件情况下也可以发送电子邮件,而且,中继即使是到多在网络正常的情况下,因为我不需要等待网络协议在远程 smarthost 上完成。使用哦,邮件我还需要本地邮件投递。中继

多年来,到多我一直使用 Postfix 来达到这些目的使用。它具有可接受的邮件简单配置。但最近我开始喜欢 VPN(mullvad,中继如果你想知道的到多话),免费信息发布网而在 /etc/resolv.conf 发生变化时会变得混乱(例如,使用你在 Postfix 的邮件服务启动后才启动 VPN)。我找到了一个非常简单的中继替代方案:OpenSMTPD。

假设我想在使用 jao@gnu.org 发送电子邮件时使用 SMTP 服务器 fencepost.gnu.org,而在我的 From 头中使用 mail@jao.io 或 news@xmobar.org 时使用 smtp.jao.io。OpenSMTPD 让你通过一个非常简单的配置文件 /etc/smtpd.conf 来实现:

(这是我的 Debian 机器中的默认配置文件。另一个流行的替代方案是 /etc/openstmpd.conf)。

复制 table aliases file:/etc/aliases

table secrets db:/etc/mail/secrets.db

table sendergnu { jao@gnu.org }

table senderjao { mail@jao.io, news@xmobar.org }

listen on localhost

action "local" mbox alias

action "relaygnu" relay host smtp+tls://gnu@fencepost.gnu.org:587 auth

action "relayjao" relay host smtps://jao@smtp.jao.io:465 auth

match for local action "local"

match for any from mail-from action "relaygnu"

match for any from mail-from <senderjao> action "relaygan"1.2.3.4.5.6.7.8.9.10.11.

我们还为此配置了本地投递。这是高防服务器完整的配置文件!唯一需要的另一件事是生成 secrets.db 文件,其中包含与键 gnu 和 jao 对应的用户和密码(这些只是任意名称)。为此,我们使用它们创建一个纯文本文件,使用形式为 <key> <user>:<password> 的条目:

复制 gnu jao:my fencepost password

jao mail@jao.io:xxxxxxxxxxxxxxxxx1.2.

fencepost.gnu.org 用户是 jao,smtp.jao.io 的用户是 mail@jao.io(你看,不需要转义空格或 ats)。然后我们使用程序 makemap 来创建密钥数据库:

复制 makemap secrets && rm secrets1.网站模板

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 电脑挖矿机前景展望(数字货币热潮带来的机遇与挑战)

    电脑挖矿机前景展望(数字货币热潮带来的机遇与挑战)

    2025-11-05 15:52

  • 将白嫖进行到底:SSL 证书自动化部署

    将白嫖进行到底:SSL 证书自动化部署

    2025-11-05 15:21

  • 黑客通过LLMjacking牟利,每月30美元出售被盗AI访问权限

    黑客通过LLMjacking牟利,每月30美元出售被盗AI访问权限

    2025-11-05 15:16

  • 使用 LVM 为你的 Fedora 系统添加存储

    使用 LVM 为你的 Fedora 系统添加存储

    2025-11-05 14:12

网友点评