我在 VPS 上安装并运行了 Postfix 和 Dovecot。使用 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, [email protected]
Aug 26 13:14:14 server postfix/cleanup[32211]: D762C582448: **message-id=<>**
Aug 26 13:14:14 server postfix/qmgr[32195]: D762C582448: from=<[email protected]>, size=300, nrcpt=1 (queue active)
Aug 26 13:14:15 server postfix/smtp[32213]: D762C582448: to=<[email protected]>, 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
你有什么想法吗?谢谢。
答案1
正如往常一样,对于这样的问题:
- Dovecot 用于阅读,因此与电子邮件发送无关。
- Postfix 负责电子邮件传递,因此与电子邮件内容无关
- 因此,客户端、客户端软件、邮件过滤器、反垃圾邮件软件等是罪魁祸首
由于您没有说明哪个程序/软件创建了邮件,所以没人能帮助您。哦,顺便提一下:Message-Id 标头是邮件内容。
编辑:对于非常糟糕的客户端软件,Postfix 中有一个解决方法,即添加缺失的必需标头。但这只是最后的手段,您最好修复客户端。如果您确实没有其他方法,请always_add_missing_headers=yes
添加。main.cf
答案2
mailq 说的一切都是正确的。
另外,查看两条消息的“原始”格式(即标题和所有内容)。
在 Gmail 中,可以通过单击快速回复按钮旁边的向下箭头,然后单击 来完成此操作Show Original
。也许您会看到是什么冒犯了 Gmail 的反垃圾邮件过滤器。