質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.92%

AWSのEC2でPostfixを立ち上げてメールサーバにしたい。が、メールが送信できない。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 879

lin.ming

score 36

やりたいこと

Amazon Web Service の EC2 で postfix を立ち上げてメールサーバにしたい。

やったこと

Amazon Linux2 + Postfix + Dovecot + Let's EncryptでSSLメールサーバを構築
を参考にして postfix, dovecot を設定しました。
(Let's Encryptの証明書は、ウェブサーバを立ち上げた時に取得したので、それを流用しました。)

確かめたこと

ポートの開放

EC2のセキュリティグループで、インバウンドのSMTP, SMTPS, IMAP, IMAPS, POP3Sを開放しました。
他サーバからのtelnetで

$ telnet linming.example.net 25
Trying 11.222.33.44...
Connected to linming.example.net.
Escape character is '^]'.
Connection closed by foreign host.


と表示されたので、ポートの開放忘れはないと思います。

netstat

netstat -a で、SMTP, SMTPSがLISTENされているのを確認しました。

ローカル配送

EC2内から、

ps aux | mail linming


と打つと、/home/linming/Maildir/{new or cur}
にメールがメールボックスに入っていました。

クライアントのメールソフトにアカウント追加

MacBookのメールアプリ→アカウント追加にて、

メールアドレス : linming@linming.example.net
パスワード : {SSH 接続する時のパスワード}
アカウントの種類 : IMAP
受信用メールサーバ : linming.example.net
送信用メールサーバ : linming.example.net


と設定しました。
「アカウントまたはパスワードを確認できません。」とエラーメッセージが出ます。
そのまま「作成」をクリックすると、なぜかIMAPでサーバのメールボックスに入っていたメールがMacのメールアプリで受信できました。

メールアプリからメールを送信

メールアプリで、
送信者 linming@linming.example.net
受信者 linming@gmail.com
でメール送信すると、下記のエラーが表示されます。

linming.example.netを使ってメッセージを送信できません
SSLエラーが起きたため、サーバへのセキュリティ保護された接続を確認できません。


上記エラーダイアログのSMTPサーバリストには、

linming.example.net (オフライン)


と表示されます。

メールログ

メールログは以下の通りです。

Mar  7 15:49:55 linming postfix/smtpd[16483]: connect from FL1-221-170-106-13.aic.mesh.ad.jp[221.170.106.13]
Mar  7 15:49:55 linming postfix/smtpd[16483]: Anonymous TLS connection established from fl1-221-170-106-13.aic.mesh.ad.jp[221.170.106.13]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Mar  7 15:49:55 linming postfix/smtpd[16483]: warning: SASL: Connect to private/auth failed: No such file or directory
Mar  7 15:49:55 linming postfix/smtpd[16483]: fatal: no SASL authentication mechanisms
Mar  7 15:49:56 linming postfix/master[16475]: warning: process /usr/libexec/postfix/smtpd pid 16483 exit status 1
Mar  7 15:49:56 linming postfix/master[16475]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling


これをみると、private/auth failed: No such file or directory と表示されていますが、/etc/postfix/main.cfには

smtpd_tls_cert_file = /etc/letsencrypt/live/linming.example.net/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/linming.example.net/privkey.pem


と書きました。
該当ファイルがあるか ls -l で確認すると、上記2ファイルのエイリアスが設定されていました。

自分なりに考えたこと

main.cf なりどこかで、まだ指定していない・書き加えいないファイルがあるのでしょうか。

知見のある方、どうぞよろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

メールログを見ると、TLS での接続はできているように見えます。

これをみると、private/auth failed: No such file or directory と表示されていますが、

postfix から SMTP-Auth で /var/spool/postfix/private/auth (ソケットファイル)を経由して dovecot に認証を依頼するのですが、そのソケットファイルが無いということです。
dovecot は起動していますでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/07 18:23

    今はダメっぽいです。リクエスト入れたら難癖付けられて「SES使ってね」と。これで2回目です。
    まあ、今度のサーバはメール送信者が限られているので、SES使おうかと思っています。

    キャンセル

  • 2020/03/07 18:41

    横から失礼します。 2020/2/19時点では外部アドレスに配送するための許可は取れました。

    リクエストをおくったらEC2でメールを使う場合のユースケースを詳しく、あとスパム対策をどうするか、というメールが送られてきたので、個人メールなどを送受信したい、スパム対策についてはポート25からのリレーはせず、587か465でSMTP認証時のみリレーする、といった内容をgoogle翻訳でおくったら1日ほどで許可がおりました。ご参考まで。

    キャンセル

  • 2020/03/07 19:20

    貴重な情報ありがとうございます。
    今でも許可取れるんですね(汗)
    私のケースでは、転送メールを使うので、オープンリレーではないですが、ちょっと許可は取れなさそうです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る