太长不看:如果我向 Postfix+Dovecot 服务器发送一封邮件,主题包含 UTF-8 字符
- 来自 Gmail 的电子邮件=> Postfix+Dovecot 正确投递邮件
- 来自邮件的电子邮件(命令行)=> Postfix+Dovecot 失败并出现错误
SMTPUTF8 is required, but was not offered by host example.com[private/dovecot-lmtp]
smtputf8_enable = no
没什么区别。
我明白了Dovecot 尚不支持 smtputf8,但我并不确定它的实际含义。
我使用 Postfix、dovecot-lmtp 和 Dovecot 设置了我的 Ubuntu 22.04 系统。一切工作正常,我已经在生产中使用它来从互联网接收电子邮件,但我正在专门测试 smtputf8 的问题。
测试 1:从 Gmail 发送电子邮件到 Postfix
作为第一个测试用例,我配置了 Postfix WITHOUT smtputf8_enable = no
。因此这意味着“与默认设置没有变化”=> smtputf8 支持已启用。
从这里,我从外部 Gmail 帐户向我的 Postfix+Dovecot 管理地址发送了一封电子邮件,主题如下:
Hello, this is a test with UTF-8
答案1
对于大多数消息内容,8位 SMTP 传输是没有必要的,因为字符可以用 7位编码来表示。使用能够应用有效编码到标题您想在其中使用非 ASCII 字符。在大多数功能齐全的 MUA 中起草邮件即可,您的 Webmail 界面只是其中一个例子。打开通过 Gmail 收到的邮件的源代码,看看 sch 编码在实践中是什么样子。
据我所知,其他两种可能的解决方案的进展都停滞了:
- 一段时间以来,人们一直对让 Postfix 应用必要的转换来将 8 位消息中继到 7 位传输感兴趣,但这有点棘手,并且无法处理收件人地址的本地部分(因为这些不允许 Q/P 编码解决方法)。
- Dovecot 可以进行修补以提供 8 位传输,但存在相当多的特殊情况,并且我预计很长一段时间内它都不会完全投入生产。
到那时你大概会不是希望在 Postfix 中提供 smtputf8,但受到您使用的邮件客户端功能的限制。