私はSSMTPインストールの問題で多くの困難を経験しました。多すぎるので、ここでソリューションを共有することにしました。
Dockerコンテナ内に複数のPHPインスタンスがあります。各インスタンスは電子メールを送信できる必要があり、各ドッカーにメールサーバーをインストールする代わりにSSMTPを使用して電子メールを中継するように設定しました。 SSMTPは電子メールをexim docker(ナンシー/SMTP) するとメールが送信されます。
(n * [PHP -> SSMTP]) -> EXIM
その文書に従って/etc/ssmtp/revaliases
設定する必要がありましたが、/etc/ssmtp/ssmtp.conf
ルート経由で電子メールを送信するときにのみ機能しますwww-data
。
PHPインスタンスとssmtpが "mailhub"を介して呼び出すように接続されているドッカーの名前を変更しました。
ベストアンサー1
SSMTPはプロンプトやその他のメッセージを提供しませんCannot open mailhub:25
。読んでから数時間後SSMTPソースコード、SSMTPが実行する機能を再現するために可能なすべての手順を試した結果、ついに発見されました...
使用すると、ファイル権限のためアクセスできませんwww-data
。/etc/ssmtp
SSMTPは沈黙しますこれについては、アクセスできないプロファイルの代わりにデフォルト設定を使用していることを決して教えてくれません。
私がしなければならないことは問題を解決することだけでした。chmod 777 /etc/ssmtp /etc/ssmtp/*
注:私の設定ファイルにはパスワードは含まれていません。この特別なケースではセキュリティにはあまり興味がありませんが、これらの問題に興味がある機関では777を使用しないでください。おそらく640を使用する必要があります。
設定テストに役立つコマンド:
sudo -u root ssmtp -v [email protected] < mail.txt
sudo -u www-data ssmtp -v [email protected] < mail.txt
/usr/sbin/ssmtp -v [email protected] < mail.txt
mail.txtの内容:
から:[Eメール保護]
到着する:[Eメール保護]
タイトル:テストEメール
テストテキスト