CGIメールフォーム(Perl)が送信できない場合、多くは設定や設置方法に原因があります。 このページでは、よくある原因と確認ポイントを分かりやすくご案内します。
市販・配布されているメールフォームはCGI形式が多く、設置方法や設定内容により動作しないことがあります。 まずは以下の項目をご確認ください。
この記事で分かること
CGIファイルの1行目(shebang)は、以下のように設定してください。
#!/usr/local/bin/perl
配布されているCGIの1行目が別のパスになっている場合、そのままでは動作しないことがあります。
メール送信設定では、sendmail のパスとして以下を指定してください。
/usr/sbin/sendmail
CGIの設定ファイル内に sendmail の呼び出し先を記述する項目がある場合は、上記のパスに合わせてください。
CGIファイルのパーミッションが正しく設定されていない場合、実行できません。
.cgi → 755
パーミッションが 777 など緩すぎる場合も、セキュリティ制限により動作しないことがあります。
Windowsで作成したファイルは、そのままアップロードすると正常に動作しない場合があります。
CGIファイルの設置場所が適切でない場合、実行できないことがあります。
CGIはセキュリティ保護のため、以下の条件を満たしていないと実行できない場合があります。
| 項目 | 確認内容 |
|---|---|
| Perl | 1行目が #!/usr/local/bin/perl になっているか |
| sendmail | /usr/sbin/sendmail が設定されているか |
| パーミッション | CGIファイルが 755 になっているか |
| 改行コード | LF になっているか |
| 設置場所 | public_html 配下の正しい場所に置かれているか |
エラーログに原因が出ている場合があります。 ただし、ご利用環境によってはログを直接確認できない場合があります。 その場合は、お問い合わせ時にご利用のCGI名や状況をお知らせください。
配布元の説明書や設定例がある場合は、あわせてご確認ください。
PHPをご利用の場合は、事前のお申し込みが必要です。
ご契約プランによりPHPをご利用いただけない場合、またはオプション契約が必要な場合があります。
PHPメールフォームの設置をご検討の場合は、事前にお問い合わせください。
WISNET / わいずねっと のレンタルサーバー
用途に合わせて2つのレンタルサーバープランをご用意しています。