更新日:2015/8/14
sendmailを利用したCGIを設置しフォームから送信してもメールが届きません。
当社のサーバーでは、MTAとしてqmailを使用しております。CGIからsendmailを使う場合は実際にはsendmailコマンド互換のqmailのsendmailラッパーが呼び出されます。
このため純正なsendmailの一部のコマンドラインオプションが使えない場合があります。正常な動作を確認しているのは「-t」オプションのみとなります。
コマンドラインオプションの修正例として代表的なものを以下に記載致します。ご参考下さい。
スクリプト内のsendmailコマンドに-nオプションがある場合は下のように-nを消して下さい。
[変更例]
open(MAIL,"|$sendmail -t -n -oi $mailto")
↓↓↓
open(MAIL,"|$sendmail -t -oi $mailto")
※同じメールが2通届く場合は-tオプションを消して下さい。
また、上記 $mailto の中身に送信先メールアドレスを複数指定する場合、sendmail では半角カンマ( , )を使用してメールアドレスを区切りますが、qmail の sendmail では必ず半角スペースで区切るようにしてください。
[参考資料]
「ネットサーフレスキューWeb裏技」の送信フォームcgiなどは上記のようなオプションの指定がありませんので、
当社サーバーにて問題なく動作しております。
全てのプログラムをチェックしているわけではありませんので、動作しない場合はこういった点をご確認ください。
(cgiを提供しているフリーのサイトのプログラムでは動作しないものの方が少ないと思います。)
コマンドラインオプションが利用されているプログラムは、修正すれば利用できるようになります。お客様側でできない場合は、有料となりますが当社にてご対応しております。具体的にどのプログラムなのかを必ずご連絡下さい。