我试图使用Zoho的SMTP服务器从MyBB安装发送注册邮件。但是,电子邮件从不发送,当我检查日志时,我注意到错误是。PHP - 553中继不允许使用Zoho邮件和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
(某些部分被掩盖隐藏的私人信息!)
这是sendmail的路径在php.ini中设定
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)
(10)某些部件被隐藏以隐藏私人信息!)
问题是,我知道它的工作,并没有端口被阻止,因为当我在命令行中使用相同的命令。该电子邮件已成功发送并收到。
sudo echo -e "Subject: Test Mail\r\n\r\nThis 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的问题。