配置了 Dovecot 的 Postfix 并没有错误地发送电子邮件。当从远程客户端发送时,message-id 为空,并且电子邮件进入垃圾邮件。

val*_*alk 3 email smtp postfix dovecot

我在 VPS 上安装并运行了 Postfix 和 Dovecot。从VPS使用 telnet 一次,从客户端机器使用一次,我正在编写完全相同的消息。一切正常,但是从客户端发送,电子邮件会转到 Gmail 的垃圾邮件

telnet mydomain.com 587

mail.log 中只有一件事与我从 VPS 发送时不同,消息 ID 为空

Aug 26 13:13:37 server postfix/smtpd[32197]: connect from 1-2-3-4.my.domain.com[1.2.3.4]
Aug 26 13:14:06 server postfix/smtpd[32197]: D762C582448: client=1-2-3-4.my.domain.com[1.2.3.4], sasl_method=plain, sasl_username=user@example.com
Aug 26 13:14:14 server postfix/cleanup[32211]: D762C582448: **message-id=<>**
Aug 26 13:14:14 server postfix/qmgr[32195]: D762C582448: from=<user@example.com>, size=300, nrcpt=1 (queue active)
Aug 26 13:14:15 server postfix/smtp[32213]: D762C582448: to=<example_user@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.53.27]:25, delay=11, delays=9.9/0.07/0.55/0.69, dsn=2.0.0, status=sent (250 2.0.0 OK 1314353655 k7si869205pbk.67)
Aug 26 13:14:15 server postfix/qmgr[32195]: D762C582448: removed
Run Code Online (Sandbox Code Playgroud)

你有什么想法?谢谢。

mai*_*ilq 6

一如既往地在这样一个问题上:

  • Dovecot 用于阅读,因此与发送电子邮件无关。
  • Postfix 负责邮件发送,因此与邮件内容无关
  • 所以客户端、客户端软件、邮件过滤器、反垃圾邮件软件等是罪魁祸首

由于您没有说明是哪个程序/软件创建了邮件,因此没有人可以帮助您。哦,顺便提一下:Message-Id 标头是邮件内容。


编辑:对于非常糟糕的客户端软件,Postfix 中有一种解决方法可以添加缺少的必需标头。但这只是最后的手段,您应该更好地修复客户端。添加always_add_missing_headers=yesmain.cf,如果你绝对看不出其他办法做到这一点。