質問: AWSのEC2を用いてホームページを作成しているのですが、そのホームページにお問い合わせ(メールフォーム)のページを作成しようと考えています。 そこで、こちらのフリーのメールフォームを用いようと頑張っているのですが、どうもうまくいきません。 EC2のほうでSMTPのポートを解放し、CGIの動作環境を整え、メールフォームを使用するためのJcodeを導入し、 フォームから送信ボタンを押して、「送信できました」という画面までは表示されるようになったのですが、メールが届きませんでした。 sendmail がうまく動いていないのかな?と考え、EC2にsshでログインし ``` $ sudo sendmail <送信先のメールアドレス> ``` と、メールを送信したところ、メールが届きませんでした。 ``` $ sudo service sendmail status ``` で、sendmailが動作していることは確認しました。 ですので、まずはsendmailがEC2で正しく動かせるように、いろいろ行っているのですが、 メールを送信できませんでした。 どうすれば、正しくsendmailを動作させることができるでしょうか。 また、メールフォームからメールを送信できない他の理由は考えられるでしょうか。 追記(2016/05/19 18:38)============================================= 「サブミッションポートを使う」ということでセキュリティグループに EC2サーバのほうで インバウンド カスタムTCP(587) を設定し、 sendmail.mc内の ``` DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl ``` のコメントアウトを解除してサブミッションポートを使用するようにしました。 しかし、seamailの動作テストを以下のようにして ``` $ sudo sendmail ***@softbank.ne.jp $ From:support@<ドメイン> $ To:***@softbank.ne.jp $ Subject:テスト送信 $ $ テスト送信です $ . ``` /var/spool/mail/ec2-user を確認したところ送信失敗していました。 ``` ...(略) Arrival-Date: Mon, 16 May 2016 09:25:09 GMT Final-Recipient: RFC822; \*\*\*@softbank.ne.jp Action: failed Status: 5.1.1 Remote-MTA: DNS; [127.0.0.1] Diagnostic-Code: SMTP; 550 5.1.1 <\*\*\*@softbank.ne.jp>... User unknown Last-Attempt-Date: Mon, 16 May 2016 09:25:45 GMT --u4G9P9UN003320.\*/ip-\*-\*-\*-\*.ap-northeast-1.compute.internal Content-Type: message/rfc822 Content-Transfer-Encoding: 8bit ...(略) ``` さらに、User unknown とあったので local-host-names のファイルに ドメインを追加したのですが、うまく動作しませんでした。
回答: 「送信できました」という画面が表示されるということは、おそらく、メールフォームと同じホストで稼働する sendmail を使ってメールを送ろうとして、メールキュー (/var/spool/clientmqueue/, /var/spool/mqueue/) には入るけれど、そこから外部に送信できない状況ではないかと思います。 以下を確認ください。 * sendmail サービスは起動していますか? * メールキュー (/var/spool/clientmqueue/, /var/spool/mqueue/) にファイルはありませんか? * メールログ (/var/log/mailog, /var/log/mail.log など)には何かエラーは出ていませんか? OS、sendmail のバージョンと sendmail の設定、ログがあると、何かわかるかもしれません。