PHP - 553不允许与Zoho邮件和MyBB中继



我试图使用Zoho的SMTP服务器从MyBB安装发送注册电子邮件。然而,电子邮件从未发送,当我检查日志时,我注意到错误是。

Month Day Year:Hour:Minute host=smtp.zoho.com tls=on auth=on user=user[at]mydomain.com from=user[at]mydomain.com recipients=some.user[at]gmail.com smtpstatus=553 smtpmsg='553 Relaying disallowed' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE

(部分被屏蔽以隐藏私人信息!)

这是php.ini

中设置的sendmail路径
sendmail_path = "/usr/bin/msmtp -C /etc/msmtp/myserver --logfile /var/log/msmtp/myserver.log -a default -t"

(部分被屏蔽以隐藏私人信息!)

这是MSMTP 的myserver配置。
# Define here some setting that can be useful for every account
defaults
    logfile /var/log/msmtp/general.log
# Settings for default account
account default
    protocol smtp
    host smtp.zoho.com
    tls on
    tls_starttls off
    tls_certcheck off
    port 465
    auth plain
    user user[at]mydomain.com
    password **********
    from user[at]mydomain.com
    logfile /var/log/msmtp/myserver.log
# If you don't use any "-a" parameter in your command line,
# the default account "default" will be used.
# account default: default # (disabled because this gives a "redefined" error)

(部分被屏蔽以隐藏私人信息!)

问题是我知道它正在工作,并且没有端口被阻塞,因为当我在命令行中使用相同的命令时。邮件发送和接收成功。

sudo echo -e "Subject: Test MailrnrnThis is a test mail" | msmtp --debug -a default --from=user[at]mydomain.com -t some.user[at]gmail.com --file=/etc/msmtp/myserver

(部分被屏蔽以隐藏私人信息!)

这意味着要么是MyBB发送电子邮件的方式有问题,要么是我的PHP配置或我在PHP .ini文件中设置的命令行有问题。

我已经搜索了一整天,但我得到的每一个结果要么与PHP无关,要么从一开始就没有工作过。我的是在命令行中工作,而不是在PHP中。

我在服务器上使用UFW,每个端口都是完全打开的,所以我猜这与阻塞端口无关。

它对Gmail有效,但每封邮件都被发送到垃圾邮件文件夹,并不是每次都有效。

编辑:我试着用PHP5-CLI发送电子邮件,它工作了。所以我猜这是PHP5-FPM或MyBB的问题。

我无法在没有MyBB安装的情况下进行测试,但是如果它使用本地PHP邮件函数,您可能需要在mail()函数调用中添加-f选项,因为您正在使用sendmail。注意,这是第5个参数(我浪费了一天的时间以为它是第4个)

mail('nobody@example.com', 'the subject', 'the message', null,
'-flocaluserr@thisdomain.com'); 

相关内容

  • 没有找到相关文章

最新更新