• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Apache(CGI) からの sendmail 呼び出しについて)

Apache(CGI)からのsendmail呼び出しについて

このQ&Aのポイント
  • レンタルサーバ(専用サーバ)でWeb上からメール送信を行おうとするとsendmailエラーが発生する
  • クライアント画面(Web)とsendmailのエラーログにはエラーメッセージ「Data format error」が表示される
  • コマンドラインからの実行では問題なく動作しているが、Web経由だとエラーになる

質問者が選んだベストアンサー

  • ベストアンサー
  • uwi
  • ベストアンサー率74% (55/74)
回答No.1

php.iniのsendmail_pathの設定はどうなっていますか? あとctladdr=apache となっているのも気になります。 (apacheのメールアドレスがあれば問題ないかも) 例えば mb_send_mail の additional_parameter を # mb_send_mail(to@example.co.jp, 'SUBJECT', 'MESSAGE', "From: from@example.co.jp", "-ffrom@example.co.jp"); 指定したり、変わることがないならphp.iniのsendmail_pathで指定してはどうでしょうか?

参考URL:
http://jp2.php.net/manual/ja/function.mb-send-mail.php
seelefs
質問者

お礼

ご回答ありがとうございます。 sendmail_pathの設定についてはphp.iniにて sendmail_path /usr/sbin/sendmail -t -i で設定してあります。 phpからの呼び出しを additional_parameter を指定して試したところ、mail(), mb_send_mail() 関数共に送ることができました。 additional_parameter で-f 引数を設定が必須ですがメールは無事送る事ができました。 ありがとうございますm(_ _)m ctladdr=apache の部分が原因のようですので、今後新たに分かった事がありましたら補足させて頂きます。

seelefs
質問者

補足

メールが送れなかった原因ですが、ご指摘の通りapacheユーザのメールアドレスとのマッピングが上手くいっていなかった事が恐らく原因のようです。 apache のメールアドレスは存在しているので、sendmail 側の設定が必要になってしまうようですので、今回はここで切り上げる事にしました。 (メールサービスが稼働しており、下手に弄れない状況です) とりあえずはスクリプト(PHP)側から-f オプションを指定して行う方向で進めたいと思います。