6

私の問題を説明しようとします:

ローカル環境で送信メールをデバッグするために、mailcatcher ( http://mailcatcher.me/ ) をインストールしましたが、Web から送信されたメールをキャッチする際にいくつかの問題に直面しました。mail() 呼び出しを 1 つだけ含むスクリプトを実行すると、すべて問題なく、送信された電子メールが mailcatcher 127.0.0.1:1080 に表示されます。しかし、Web ブラウザから同じスクリプトにアクセスしようとすると、mail() 関数は false を返し、ブラウザにエラーは表示されず、エラー ログにも何も表示されません。メール ログでも、mail() 関数の呼び出しを確認できます。

nginx/php-fpm の設定が間違っているか、権限に問題がある可能性があります。

selinux が無効になっています。

解決策を知っている場合は助けてください。

前もって感謝します

4

4 に答える 4

8

ubuntu 14.04でも同じ問題に直面しました。

/etc/php5/cli/php.ini/etc/php5/fpm/php.ini同じ構成でしたが、メールを送信することsendmail_pathしかできませんでした。php-cli

私の環境でMailcatcherは、離れたサーバーで動作し、catchmailコマンドを使用してそれに接続します。

これがsendmail_path私が使用したものです:

sendmail_path = /usr/bin/env catchmail --smtp-ip mailcatcher-ip -f address@example.com

fpm php.iniファイルについてはcatchmail、メール機能が正しく動作するようにフル パスを指定する必要がありました。

sendmail_path = /usr/bin/env /usr/local/bin/catchmail --smtp-ip mailcatcher -f address@example.com
于 2015-01-02T15:38:58.647 に答える
2

php-fpm を使用すると、提供された RVM(?) のラッパー スクリプトとうまく連携します。

sendmail_path = /usr/local/rvm/wrappers/default/catchmail
于 2015-04-14T09:00:03.643 に答える