在 Debian 上选择用于特定用途的邮件服务

在 Debian 上选择用于特定用途的邮件服务

我正在尝试在本地 Debian Buster/Sid 上设置邮件服务。

该邮件服务应接收输入邮件并将其定向到以下位置: - 如果邮件是发往“myownlocaldomain”的,则必须将其传递给本地邮箱用户。 - 在其他地方,邮件将发送到我们的 ISP 智能主机,然后将其传递(或不传递)到目的地。

到目前为止,我使用 exim4 来实现此目的。我很久以前就完成了此设置,并且真的记不清我是如何让它工作的,但我做到了。

用户在使用此设置时遇到了麻烦:当他们在收件人地址中输入错误时,他们不会立即收到反馈。邮件通过 exim4 后会立即在日志中生成“收件人地址被拒绝:未找到域”,但需要一些时间才能通知发件人。

我尝试缩短 exim4 的重试和失败计时器,在 /etc/exim4/conf.d/retry/30_exim4-config 中:

“* * F,10 米,2 米”

我预计每 2 分钟重试一次,然后 10 分钟后邮件就会被退回。

我还编辑了其他配置文件(/etc/default/exim4)来设置:QUEUEINTERVAL='1m'

到目前为止,我无法实现以下结果:尝试发送邮件,等待一小段时间,如果无法发送邮件则快速通知发件人。

当我的服务器从我的本地网络收到邮件时,我期望出现以下行为:

  • 发往 joe@localdomain 的邮件将发送到 /home/joe/Maildir,

  • 邮件从 joe@localdomain 发送至[电子邮件保护]发送至[电子邮件保护],通过 ISP 智能主机,重写发件人姓名以匹配我们的真实邮件地址,

  • 任何其他邮件都会发送到 ISP 智能主机,

  • 在任何上述情况下,如果邮件无法立即送达,则必须通知发件人。

exim4 对我来说没问题,但目前我太害怕了休息到目前为止,通过尝试编辑 /etc/exim4/conf.d 中的任何内容,这是可行的。

有没有办法从 /etc/exim4 中的脚本文件(包含.ifndef 和变量和代码)中整理出配置文件(包含“option = my_value”行)?

我可以备份我的整个 /etc/exim4 目录并尝试修改这 47 个文件中的一些,但知道从哪里开始会更容易。

此时,我是否最好从头开始,也许使用另一个 MTA(qmail?postfix?)?或者是否有一些我不理解的 exim4 技巧,可以使其更容易理解和调试?

编辑:我运行了 dpkg-reconfigure exim4-config 并切换到单个配置文件选项。/etc/exim4 中仍然有 47 个文件。我很高兴 emacs 保留了它修改的每个 $file 的 $file~ 备份​​:我已经能够检查 /etc/exim4/conf.d/ 中以“~”结尾的文件。

这就是我发现在 /etc/exim4/conf.d/main/90_exim4-config_log_selector 中所做的修改的方式:

“# 取消注释以便调试

MAIN_LOG_SELECTOR == MAIN_LOG_SELECTOR +所有-主题-参数”

这是我很久以前做的编辑。我现在想起来。Tt 说“取消注释以进行调试”。

所以:我是个十足的白痴,忽略了 Debian 上 exim4 的一些明显特点,否则它设计时就已经写了 47 个脚本,你必须在这里或那里编辑这些脚本才能进行配置。

我发现“exim -bP”命令可以很好地打印出当前配置,但它现在并没有显示配置文件中的位置。

我只需要在单独的文件中跟踪任何更改(这不就是配置文件的目的吗?),和/或足够了解 exim4 和 Debian 就可以立即想到“那是在 /etc/exim4/conf.d/foobar/number_description 中”。

此时我决定切换到除“Debian 上的 exim4”之外的其他任何版本。我将尝试 qmail,希望 Debian 尚未破坏它。

答案1

编辑:检查 dma 和 nullmailer 后,我发现它们不允许传入连接(您如何配置 thunderbird 来使用这样的服务?)。

现在使用 opensmtpd。看起来它正在工作。到目前为止,我的所有配置都可以在一个文件中读取,占用一个屏幕而无需滚动。这就是我需要的。

相关内容