PHP 経由の Mutt でメッセージを送信できませんでした

PHP 経由の Mutt でメッセージを送信できませんでした

私はUbuntuで小さなLAMPサーバーを運用しています。ある時点で、Muttを使用してメールを送信するためのPHPスクリプトが必要になります。私は次のようにPHPスクリプトからシステムコールを使用します。

mutt -s $file1 -a threedplot.jpeg -a velocityvstime.jpeg -a elossperstep.jpeg -a input.txt -a output.txt -- $email < /var/www/html/emailmessage.txt

すべての変数とファイルが適切に定義されている場所(この行はrunner.shにあります)。ubuntuユーザーとしてコマンドラインからコマンドを実行すると、問題なくメールが送信されます。しかし、phpがシステムコールで実行しようとすると、

$last_line = system("./runner.sh Queued/", $retval);

「メッセージを送信できませんでした」とだけ表示されます。これは、php が www-data ユーザーで実行されており、適切な権限がないことが原因であると思われます。www-data ユーザーを追加して、Mutt へのフル アクセスを許可する方法はありますか? よろしくお願いします

答え1

問題は、Mutt がメッセージを送信しようとすると、送信済みフォルダーにも保存しようとすることです。Web ユーザー/www ユーザー/apache ユーザーなどとして実行されているため、これは失敗します。修正するには、ローカルの Mutt 構成ファイル (Mutt 行で -F で指定) を使用し、set copy=noその構成ファイルにあることを確認します。

ケネネに感謝Ubuntu フォーラム アーカイブ このために。

関連情報