1

在为我的主域成功设置 iRedMail 服务器后,我尝试按照以下步骤将我的辅助域添加为别名:https ://docs.iredmail.org/sql.add.alias.domain.html

这还没有解决问题,所以我另外将辅助域添加到 /etc/postfix/main.cf 中:

virtual_alias_domains = domain2.tld
virtual_alias_maps = hash:/etc/postfix/virtual

注意:我没有删除 virtual_alias_maps 下的任何现有 mysql 条目。

并将映射输入到 /etc/postfix/virtual 并随后执行“postmap /etc/postfix/virtual”:

@domain2.tld     @domain1.tld

这在服务器内部工作。user1@domain1.tld 可以发送到 user2@domain2.tld 并且 user2 将在他的邮箱中收到邮件。外部电子邮件在发送到 user@domain1.tld 时仍然会到达。

不幸的是,它不适用于发送到辅助域的外部邮件。在我的 /var/logs/mail.log 中,我找到以下几行:

postfix/smtpd[5541]: NOQUEUE: reject: RCPT from mail-oi1-x231.google.com[2607:f8b0:4864:20::231]: 451 4.3.5 <user1@domain2.tld>: Recipient address rejected: Server configuration problem; from=<username@gmail.com> to=<user1@domain2.tld> proto=ESMTP helo=<mail-oi1-x231.google.com>

和:

postfix/smtpd[5644]: warning: problem talking to server 127.0.0.1:12340: Connection timed out

在端口 12340 dovecot 正在监听:

dovecot    513      root   67u  IPv4  17087      0t0  TCP 127.0.0.1:12340 (LISTEN)

在我的鸽舍日志中,我反复发现以下行:

dovecot: quota-status: Error: quota-status: Client sent invalid recipient address: Invalid character in path

这就是我卡住的地方。我怀疑两件事之一:要么我只是错过了必要的配置,这似乎很有可能,因为我以前从未在 Debian 上设置过邮件服务器,或者 dovecot 错误是由我的辅助域引起的。辅助域包含变音符号 (ä/ö/ü),我很清楚这会导致一些问题。因此,我还拥有它的 punycode 格式变体中的域。因此,每当我将带有变音符号的辅助域添加到配置中时,我还添加了它的 punnycode 版本,假设它可以解决这方面的任何问题。

dovecot 是否有可能无法处理任何变音符号/punnycode 格式?还是我只是错过了配置一些明显的东西?

任何朝着正确方向的推动都受到高度赞赏。

问候, 鼻涕

==== 基本信息 ====

  • iRedMail 版本:1.4.0 MARIADB 版
  • Linux/BSD 发行版名称和版本:Debian GNU/Linux 10 (buster) - 10.10
  • 使用的数据库:MySQL (MariaDB)
  • 网络服务器:Nginx

==== 编辑 ====

在对不同的外部邮件托管商进行了进一步测试后,我意识到当发送到带有元音变音符号的域时,有 4 封邮件中有 2 封到达了。GMail 和 Hotmail 没有,我的公司交换和其他一些网络提供商通过了。

iRedMail/postfix/dovecot/whateverelseisinvolved 本身似乎与 punnycode/umlauts 工作正常,它似乎取决于发件人。关于为什么或我可以检查哪些日志以深入挖掘的任何猜测?

==== 编辑 ====

就基础设置而言;在干净的 Debian 10 安装后,我按照本指南中的步骤https://www.linuxbabe.com/mail-server/debian-10-buster-iredmail-email-server

帖子中提到了任何与指南不同的特定配置。我还颁发了一个证书,其中包括 punnycode 中的主域和辅助域。

这里是启动时的各种日志:

/var/log/mail.log:

Aug 14 14:24:36 s postfix/postfix-script[1637]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Aug 14 14:24:37 s amavis[573]: starting. /usr/sbin/amavisd-new at host.domain1.tld amavisd-new-2.11.0 (20160426), Unicode aware, LC_ALL="C", LANG="en_US.UTF-8"
Aug 14 14:24:37 s postfix/postfix-script[1819]: starting the Postfix mail system
Aug 14 14:24:37 s postfix/master[1821]: daemon started -- version 3.4.14, configuration /etc/postfix
Aug 14 14:24:39 s amavis[1915]: Net::Server: Group Not Defined.  Defaulting to EGID '121 121'
Aug 14 14:24:39 s amavis[1915]: Net::Server: User Not Defined.  Defaulting to EUID '113'
Aug 14 14:24:39 s amavis[1915]: No ext program for   .F, tried: unfreeze, freeze -d, melt, fcat
Aug 14 14:24:39 s amavis[1915]: No ext program for   .zoo, tried: zoo, unzoo
Aug 14 14:24:39 s amavis[1915]: No decoder for       .F   
Aug 14 14:24:39 s amavis[1915]: No decoder for       .zoo 
Aug 14 14:24:39 s amavis[1915]: Using primary internal av scanner code for clamav-socket
Aug 14 14:24:39 s amavis[1915]: Found secondary av scanner clamav-clamscan at /usr/bin/clamscan

/var/log/dovecot/dovecot.log:

Aug 14 14:24:26 s dovecot: master: Dovecot v2.3.4.1 (f79e8e7e4) starting up for pop3, imap, sieve, lmtp (core dumps disabled)
Aug 14 14:24:43 s dovecot: stats: Error: (stats-reader): didn't reply with a valid VERSION line: EXPORT#011global
Aug 14 14:24:43 s dovecot: stats: Error: (stats-reader): didn't reply with a valid VERSION line: EXPORT#011global

grep 后缀 /var/log/syslog:

Aug 14 14:24:36 s postfix/postfix-script[1637]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Aug 14 14:24:37 s postfix/postfix-script[1819]: starting the Postfix mail system
Aug 14 14:24:37 s postfix/master[1821]: daemon started -- version 3.4.14, configuration /etc/postfix

我在我的 postfix main.cf 中禁用了配额功能并启用了 SMTPUTF8,除了 mail.log 中启动时的附加行之外没有显着变化:

Aug 14 14:59:46 s amavis[571]: starting. /usr/sbin/amavisd-new at host.domain1.tld amavisd-new-2.11.0 (20160426), Unicode aware, LC_ALL="C", LANG="en_US.UTF-8"

不幸的是,行为仍然相同。在进一步分析日志后,我意识到来自提供商的邮件似乎是通过 punycode 发送的(即使我专门使用变音符号/非 ASCII 字符将其发送到域)。另一方面,GMail 实际上将邮件发送到包含元音变音符号(非 punycode,即使我在收件人邮件地址中专门使用 punycode 格式)的域。所以,我要么需要教我的服务器处理非 ASCII 字符,要么需要教谷歌通过 punycode 发送。或者教我的服务器将变音符号翻译成 punycode。选项 2 显然不是真正的选项,所以 1 或 3 是。

从非 GMail 托管邮件记录:

postfix/amavis/smtp[2300]: 4Gn0zh0z4FzLnSJ: to=<user@domain1.tld>, orig_to=<user@domain2InPunycode.tld>, relay=127.0.0.1[127.0.0.1]:10024, delay=4, delays=0.1/0/0.01/3.9, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 4Gn0zm04JHzLxc0)

从 GMail 邮件登录:

Aug 14 15:06:44 s postfix/smtpd[2281]: warning: problem talking to server 127.0.0.1:12340: Connection timed out
Aug 14 15:06:44 s postfix/smtpd[2281]: NOQUEUE: reject: RCPT from mail-ot1-x32b.google.com[2607:f8b0:4864:20::32b]: 451 4.3.5 <user@dömain2.tld>: Recipient address rejected: Server configuration problem; from=<gmailuser@gmail.com> to=<user@dömain2.tld> proto=ESMTP helo=<mail-ot1-x32b.google.com>
4

0 回答 0