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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

2回答

4681閲覧

Postfix+Dovecotで外部からのメールを受信できない

Nmhmz

総合スコア1

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2020/06/13 07:18

前提・実現したいこと

VMware上のCentOS6にて、サーバ構築練習の一環として、PostfixとDovecotで初めてメールサーバを構築している者です。

内部での送信・受信、内部→外部への送信はできるのですが、外部(GmailやYahoo!メールなど)→内部への受信ができず、詰まってしまっています。

ドメインの取得、MXレコード等についてはMyDNSで行なっています。

発生している問題・エラーメッセージ

Gmailから数時間~1日後に返送されてくるエラーメッセージ

配信未完了 testuser@example.mydns.jp へのメールの配信中に一時的な問題が発生しました。Gmail は XX 時間再試行し、配信できなかった場合はお知らせします。 応答: The recipient server did not accept our requests to connect. Learn more at https://support.google.com/mail/answer/7720 [testuser@example.mydns.jp 192.168.x.xxx: timed out]

該当のソースコード

postconf -n

alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 1 home_mailbox = Maildir/ html_directory = no inet_interfaces = all inet_protocols = ipv4 lmtp_tls_loglevel = 2 local_recipient_maps = mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = example.mydns.jp myhostname = mail.example.mydns.jp mynetworks = 127.0.0.0/8, 192.168.0.0/24 myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relayhost = [smtp.gmail.com]:587 sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtp_sasl_auth_enable = yes smtp_sasl_mechanism_filter = plain smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_tls_security_options = noanonymous smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt smtp_tls_loglevel = 1 smtp_use_tls = yes smtpd_banner = $myhostname ESMTP smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_path = private/auth smtpd_sasl_type = dovecot smtpd_tls_loglevel = 1 unknown_local_recipient_reject_code = 550

doveconf -n

auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain login auth_verbose = yes disable_plaintext_auth = no listen = * log_path = /var/log/dovecot.log mail_debug = yes mail_location = maildir:~/Maildir mbox_write_locks = fcntl passdb { driver = pam } protocols = imap pop3 service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } ssl = no ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd }

netstat -nat(ポート25番の開放チェック)

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

dig example.mydns.jp

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.7 <<>> example.mydns.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13988 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.mydns.jp. IN A ;; ANSWER SECTION: example.mydns.jp. 300 IN A 192.168.x.xxx ;; Query time: 408 msec ;; SERVER: xxx.xxx.xx.xxx#53(xxx.xxx.xx.xxx) ;; WHEN: Fri Jun 12 20:35:36 2020 ;; MSG SIZE rcvd: 51

dig example.mydns.jp mx

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.7 <<>> example.mydns.jp mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42672 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.mydns.jp. IN MX ;; ANSWER SECTION: example.mydns.jp. 300 IN MX 10 mail.example.mydns.jp. ;; Query time: 73 msec ;; SERVER: xxx.xxx.xx.xxx#53(xxx.xxx.xx.xxx) ;; WHEN: Fri Jun 12 20:37:27 2020 ;; MSG SIZE rcvd: 56

補足情報

SSLに関しては、送受信ができてから設定する予定なので、今のところ何も設定していません。

maillogには何も記録されていないことから、そもそもGmail側からサーバに到達していないのではないかと考えています。
MXレコードの設定方法などがよく理解できておらず、そのあたりの設定がおかしいのかもしれません。
IPアドレスをプライベートIPアドレスで登録してしまっているのも怪しい気がします。内部→外部へ送信できていたので、問題ないのかと思っていたのですが…。ただ、MyDNSにグローバルIPアドレスで登録しても状況は変わらなかったので、よくわかりません…。
サーバは25番ポートを開放できているようなので、ルータのポートも開放しているのですが、それでもうまくいきませんでした。チェックテストを行うと、「ポート開放されていません」「到達できませんでした」といった内容の結果が出ます。
telnetでメールの送受信はできています。が、TLSで自分のGmailから送ると、一見問題なく送信完了しますが、結局メールは届きません。ログにも何も残らないので、何が問題なのかがわかりません。

数日間詰まってしまい、どうしても自分の力では解決できそうにないので、お力をお借りしたいです。
エラー内容などで検索しても、「DNSの更新情報の反映に時間がかかる」という意見もあり、しばらく様子を見るべきなのか、こちらで直せるところがあるのかをはっきりさせたいです。
不勉強で恐縮ですが、どなたかご教示いただければ幸いです。よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

IPアドレスをプライベートIPアドレスで登録してしまっているのも怪しい気がします。

プライベートIPアドレスがどういうものなのか、もう一度勉強してください。

で、グローバルIPに設定し直したとして…
利用しているISPは外部からISP管理下のIPに対しての25番ポートの接続をブロックしていないでしょうか?
https://ja.wikipedia.org/wiki/Inbound_Port_25_Blocking
相手がGMailとかなら大丈夫なのかもしれませんが。

VMware上のCentOS6にて

仮想ネットワークアダプタの設定は正しくやられていますかね?
ブリッジ設定にする必要があるかと思いますが。
NATの場合はホストOS側でポートフォワードさせる必要がある。
もちろかルータての設定も必要ですし、ホストマシン/ゲストマシンともに起動している必要がありますが。

投稿2020/06/13 08:11

setoppu

総合スコア292

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2020/06/13 08:16

確かにIP25bもありましたね!
Nmhmz

2020/06/13 11:46

回答ありがとうございます。 以前、内部向けのWebサーバを作ったのですが、その頃からネットワークの仕組みについて理解があまり進んでいなかったようです。 プライベートIPアドレスをグローバルIPアドレスに変換しないことには接続ができないような…?と色々疑問に思っていたのですが、だんだん混乱してきてしまい、あやふやになっていました。 仮想ネットワーク等、全く触っていないのでそちらを先に勉強してから、メールの受信設定を調整していくことにします。 自分がどこを理解すべきかはっきりさせられたので、質問してためになりました。 お世話になりました。
guest

0

private network環境に構築しているのなら、
グローバルIPとのnatやipマスカレードをルーターなどに設定しないと外からサーバへアクセスすることはできません。

メールの配送の流れとそれに関わるDNSレコードについてもう少し理解してから進めてはどうでしょうか。

また、今から勉強するなら最低でもcentos7、出来ればcentos8がいいと思います。

投稿2020/06/13 08:03

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nmhmz

2020/06/13 11:51

回答ありがとうございます。 ベストアンサーの方へのコメントと重複しますが、NATの設定などに全然触れていなかったので、外部からアクセスできるはずもない、ということがわかりました。 そのあたりについて調べて設定してから、Gmailの受信に再挑戦することにします。 CentOSについては、また別のサーバ構築を練習する時に新しい方のバージョンを利用しようと思います。 お世話になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問