使用 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 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...