5

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 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.ini ファイルで設定した PHP 構成またはコマンド ラインに問題があることを意味します。

私はこれを一日中検索しましたが、得られるすべての結果は PHP に関連していないか、最初から機能していませんでした。私はコマンドラインから作業していますが、PHPからは作業していません。

サーバーでUFWを使用しており、すべてのポートが完全に開いているため、ブロックされたポートとは関係ないと思います。

Gmail では機能しましたが、すべてのメールがスパム フォルダーに送信され、すべてのメールで毎回機能するとは限りませんでした。

編集: PHP5-CLI でメールを送信しようとしましたが、うまくいきました。だから、PHP5-FPM か MyBB のどこかに問題があるのではないかと推測しています。

4

1 に答える 1

0

MyBB をインストールせずにこれをテストすることはできませんが、ネイティブの PHP メール関数を使用する場合は、sendmail を使用しているため、mail() 関数呼び出しに -f オプションを追加する必要がある場合があります。5 番目のパラメーターであることに注意してください。 (4日だと思ってたら1日無駄だった)

mail('nobody@example.com', 'the subject', 'the message', null,
'-flocaluserr@thisdomain.com'); 
于 2015-07-29T20:04:57.993 に答える