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

发布于 2024-12-19 16:20:33 字数 1963 浏览 3 评论 0

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

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

假设我想在使用 jao@gnu.org 发送电子邮件时使用 SMTP 服务器 fencepost.gnu.org ,而在我的 From 头中使用 mail@jao.ionews@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 <aliases>
action "relaygnu" relay host smtp+tls://gnu@fencepost.gnu.org:587 auth <secrets>
action "relayjao" relay host smtps://jao@smtp.jao.io:465 auth <secrets>

match for local action "local"
match for any from mail-from <sendergnu> action "relaygnu"
match for any from mail-from <senderjao> action "relaygan"

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

gnu  jao:my fencepost password
jao  mail@jao.io:xxxxxxxxxxxxxxxxx

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

makemap secrets && rm secrets

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

謸气贵蔟

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

隔纱相望

文章 0 评论 0

昵称有卵用

文章 0 评论 0

梨涡

文章 0 评论 0

蓝咒

文章 0 评论 0

白芷

文章 0 评论 0

樱娆

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文