使用 OpenSMTPD 将邮件中继到多个 smarthost
创始人
2024-03-02 11:55:48
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 
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  action "relaygan"

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

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

via: https://jao.io/blog/2021-11-09-relaying-mail-to-multiple-smarthosts.html

作者:jao 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不同类型的请求(如http...
首先,在服务器上创建应用程序,并确保该应用程序可以同时接受http...
2025-01-09 08:01:41
不提供附件,是否可以使用S...
是的,您可以使用SMTP Sampler来发送不带附件的电子邮件。...
2025-01-08 05:00:18
部署中出现的SmtpExc...
检查SMTP设置是否正确请确保您正在使用正确的SMTP服务器和端口...
2025-01-08 02:02:00
部署时Google SMT...
问题描述:在部署时,Google SMTP 不起作用,但在本地服务...
2025-01-07 21:00:38
不使用SMTP发送应用程序...
不使用SMTP发送应用程序的邮件可以使用其他协议或工具来实现。以下...
2024-12-29 10:00:59
捕获使用PHP maile...
要捕获使用PHP Mailer和SMTP中继发送的电子邮件,可以使...
2024-12-25 06:01:52

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...