我在 CentOS6、Plesk 10.4 上使用 PHPmail()
函数和 PostFix,但我的电子邮件无法发送到特定地址。我的个人 GMail 和 Yahoo 电子邮件地址可以正常从我的服务器接收电子邮件,并且不会产生错误。在这里得到一个很棒的建议后,我检查了我的邮件日志,这是我看到的错误:
Apr 10 10:26:29 ######### postfix/qmgr[8323]: 19EA21827: from=
<[email protected]>, size=645, nrcpt=1 (queue active)
Apr 10 10:26:29 ######### postfix-local[8331]: postfix-local:
[email protected], [email protected],
dirname=/var/qmail/mailnames
Apr 10 10:26:29 ######### postfix-local[8331]:
cannot chdir to mailname dir name: No such file or directory
Apr 10 10:26:29 ######### postfix-local[8331]:
Unknown user: [email protected]
Apr 10 10:26:29 ######### postfix/pipe[8330]: 19EA21827:
to=<[email protected]>, relay=plesk_virtual, delay=0.15, delays=0.11/0/0/0.04,
dsn=2.0.0, status=sent (delivered via plesk_virtual service)
Apr 10 10:26:29 ######### postfix/qmgr[8323]: 19EA21827: removed
[email protected]
php.ini
是我在for中声明的名字
sendmail_from = "[email protected]" sendmail_path = "/usr/sbin/sendmail -t -f [email protected]"
并且收件人应该是[email protected]
。
这是我的错误还是收件人的错误?我可以在我的服务器上解决这个问题吗?
非常感谢 SF。
答案1
我发现这是由于 PLESK(和用户)导致的错误,并且由于没有太多关于它的文档,所以我认为这篇文章值得保留。
因为我已经在 PLESK 中建立了要发送到的电子邮件地址的 vhost 域,所以当它识别出电子邮件地址的尾部是它认为托管在服务器本身上的内容时,它会尝试恢复到本地 Postfix 搜索。
PostFix 配置文件中有关于如何修复此问题的文档这里。
我感谢大家的努力。
答案2
4 月 10 日 10:26:29 ######### postfix-local[8331]: postfix-local: [电子邮件保护],[电子邮件保护], dirname=/var/qmail/mailnames 4 月 10 日 10:26:29 ######### postfix-local[8331]: 无法将目录切换到 mailname 目录名:没有此文件或目录 4 月 10 日 10:26:29 ######### postfix-local[8331]: 未知用户:[电子邮件保护]
与您想象的相反,这些不是 Postfix 日志。
Postfix 在所有日志消息前添加postfix/<servicename>
- neverpostfix-<servicename>
答案3
我也遇到过这个问题。发送到我公司域名的所有电子邮件都是本地发送的。这是(我相信)因为在 Plesk 中(是的,这是 Plesk 的问题)。
所以基本上是哦[电子邮件保护]是注册用户可以本地发送任何@company.com 电子邮件或类似的东西。
无论如何,我已经修复了两次这个问题,我通过编辑 /etc/postfix/main.cf 文件并注释掉以“virtual”开头的行来做到这一点。
看http://www.rcneil.com/postfix-local-loop-in-plesk/获取如何修复该问题的说明