2014-05-14 39 views
4

我试图使用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的问题。

回答

0

如果没有MyBB安装,我无法测试它,但如果它使用本地PHP邮件函数,则可能需要将-f选项添加到mail()函数调用中,因为您使用的是sendmail。是第5个参数(我曾经以为是第4次就浪费了一天)

mail('[email protected]', 'the subject', 'the message', null, 
'[email protected]'); 
相关问题