![无法再从 Ubuntu 服务器向 Gmail 组发送电子邮件](https://linux22.com/image/654383/%E6%97%A0%E6%B3%95%E5%86%8D%E4%BB%8E%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%91%20Gmail%20%E7%BB%84%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%20.png)
我遇到一个问题,从我们的 Ubuntu 服务器向 Google Group 帐户发送电子邮件不再有效,导致 Google 群组拒绝该电子邮件。(请注意,当我说 Google Groups 时,我指的不是 groups.google.com,而是指在我的 Gmail 帐户控制台中设置的群组)。这曾经有效,但最近(过去 2 周)才停止工作。现在,当尝试发送邮件时,/var/log/mail.log 中会显示以下错误:
Mar 19 15:36:04 server217-174-255-91 postfix/pickup[11890]: D60AF40066A: uid=33 from=<www-data>
Mar 19 15:36:04 server217-174-255-91 postfix/cleanup[12498]: D60AF40066A: message-id=<[email protected]>
Mar 19 15:36:04 server217-174-255-91 postfix/qmgr[11968]: D60AF40066A: from=<[email protected]>, size=439, nrcpt=1 (queue active)
Mar 19 15:36:04 server217-174-255-91 postfix/smtp[12499]: connect to ASPMX.L.GOOGLE.com[2a00:1450:400c:c03::1b]:25: Network is unreachable
Mar 19 15:36:05 server217-174-255-91 postfix/smtp[12499]: D60AF40066A: to=<[email protected]>, relay=ASPMX.L.GOOGLE.com[64.233.166.27]:25, delay=0.27, delays=0.05/0.01/0.06/0.15, dsn=2.0.0, status=sent (250 2.0.0 OK 1426779365 jf1si3669888wic.51 - gsmtp)
Mar 19 15:36:05 server217-174-255-91 postfix/qmgr[11968]: D60AF40066A: removed
Mar 19 15:36:05 server217-174-255-91 postfix/smtpd[12462]: connect from mail-we0-f196.google.com[74.125.82.196]
Mar 19 15:36:05 server217-174-255-91 postfix/smtpd[12462]: NOQUEUE: reject: RCPT from mail-we0-f196.google.com[74.125.82.196]: 454 4.7.1 <[email protected]>: Relay access denied; from=<> to=<[email protected]> proto=ESMTP helo=<mail-we0-f196.google.com>
Mar 19 15:36:05 server217-174-255-91 postfix/smtpd[12462]: disconnect from mail-we0-f196.google.com[74.125.82.196]
邮件的发送是通过 PHP 进行的,如下所示:
mail("mygroup@ourGmailDomain", "Subject", "Message", "Header");
如果我更改 PHP 以使用个人用户帐户而不是组,那么它就可以正常工作,并且会收到电子邮件。因此,以下代码确实有效,并且用户“aPerson”会收到电子邮件:
mail("aPerson@ourGmailDomain", "Subject", "Message", "Header");
我做错了什么?群组有什么特别之处导致电子邮件被拒绝,而发送到个人 Gmail 帐户的邮件却被接受?
更新我的发现:
这个问题现在已经解决了。我认为问题与发送的邮件的标头错误或无效有关。邮件由用户 www-data 发送,但在标头中我们添加了“发件人:”,然后是另一个用户。我认为 Google 已更新其向群组发送邮件的政策,因此由于电子邮件的标头与发送邮件的电子邮件地址不匹配,因此导致邮件被拒绝。
通过从 PHP 邮件发送命令中删除标头,我现在可以向该组发送电子邮件。在调查期间,我还执行了以下操作
- 将完整域名添加到我的 DNS“MX”注册中
- 修改了文件“/etc/postfix/main.cf”,以便将 inet_protocols 设置为仅 ipv4。
感谢所有提供建议的人。
答案1
Google 正在尝试向您发送退回邮件以回应您发送给他们的电子邮件。但由于您的电子邮件没有有效的发件人地址,因此无法发送给您。
修复您的应用程序,以便它能够发送具有有效地址的电子邮件。