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

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

ただいまの
回答率

90.33%

  • CentOS

    2835questions

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

  • Postfix

    276questions

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

  • メール

    267questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

  • Dovecot

    70questions

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

postfix + dovecotの構成でメールが受信出来ない。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,372

yuki_90453

score 96

クライアントソフトでメールの受信が出来ず困っております。

クライアントソフトの挙動としてログイン、メール送信は出来るがメールが受信されない。またクライアントソフト上ではエラーなど表示されません。

設定の不備などがございましたらご指摘頂けないでしょうか?

各設定

postconf -d

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 = 2
disable_vrfy_command = yes
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mail_owner = postfix
mailbox_size_limit = 204800000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 5120000
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = sample.com
myhostname = mail.sample.com
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relay_domains = $mydestination
relayhost =
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_security_level = may
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access    reject_rbl_client zen.spamhaus.org    reject_rbl_client all.rbl.jp    reject_non_fqdn_sender    reject_unknown_sender_domain
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_sender_restrictions = reject_rhsbl_sender zen.spamhaus.org   reject_unknown_sender_domain
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.sample.com.crt
smtpd_tls_key_file = /etc/pki/tls/private/mail.sample.com.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550

dovecot -d
/etc/dovecot/dovecot.conf

# 2.0.9: /etc/dovecot/dovecot.conf
auth_mechanisms = plain login
disable_plaintext_auth = no
log_path = /var/log/dovecot/dovecot.log
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 = 0660
    user = postfix
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
ssl_cert = </etc/pki/tls/certs/mail.sample.com.crt
ssl_key = </etc/pki/tls/private/mail.sample.com.key
userdb {
  driver = passwd
}

iptables

# Generated by iptables-save v1.4.7 on Mon Dec 26 21:01:57 2016
*raw
:PREROUTING ACCEPT [24601:3681435]
:OUTPUT ACCEPT [23993:3766589]
COMMIT
# Completed on Mon Dec 26 21:01:57 2016
# Generated by iptables-save v1.4.7 on Mon Dec 26 21:01:57 2016
*mangle
:PREROUTING ACCEPT [24601:3681435]
:INPUT ACCEPT [24601:3681435]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [23993:3766589]
:POSTROUTING ACCEPT [23993:3766589]
COMMIT
# Completed on Mon Dec 26 21:01:57 2016
# Generated by iptables-save v1.4.7 on Mon Dec 26 21:01:57 2016

*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH(22,10022,22->delete after), HTTP, HTTPS
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80    -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443    -j ACCEPT

#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

# smtp/smtps
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT

# # pop3
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT

# # imap
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT
COMMIT

#*filter
#:INPUT DROP [0:0]
#:FORWARD DROP [0:0]
#:OUTPUT ACCEPT [30:4110]
#-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A INPUT -p icmp -j ACCEPT
#-A INPUT -i lo -j ACCEPT
#-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
#-A INPUT -p tcp -m tcp --sport 20 -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
#-A INPUT -p tcp -m tcp --sport 21 -j ACCEPT
#COMMIT
# Completed on Mon Dec 26 21:01:57 2016
# Generated by iptables-save v1.4.7 on Mon Dec 26 21:01:57 2016
*nat
:PREROUTING ACCEPT [1300:71318]
:POSTROUTING ACCEPT [914:65461]
:OUTPUT ACCEPT [914:65461]
COMMIT
# Completed on Mon Dec 26 21:01:57 2016

この設定でgmailからサーバーのアドレスにメールを送信すると以下のログが表示されます。

an 17 23:13:32 v9193 postfix/smtpd[25439]: connect from mail-pg0-f54.google.com[74.125.83.54]
Jan 17 23:13:32 v9193 postfix/smtpd[25439]: setting up TLS connection from mail-pg0-f54.google.com[74.125.83.54]
Jan 17 23:13:32 v9193 postfix/smtpd[25439]: Anonymous TLS connection established from mail-pg0-f54.google.com[74.125.83.54]: TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)
Jan 17 23:13:33 v9193 postfix/smtpd[25439]: 2FE75FC092C: client=mail-pg0-f54.google.com[74.125.83.54]
Jan 17 23:13:33 v9193 postfix/cleanup[25445]: 2FE75FC092C: message-id=<B823D66E-6677-46B7-A284-9D2B8A58042D@gmail.com>
Jan 17 23:13:33 v9193 postfix/qmgr[21847]: 2FE75FC092C: from=<送り主@gmail.com>, size=2919, nrcpt=1 (queue active)
Jan 17 23:13:33 v9193 postfix/cleanup[25445]: 621B6FC0BCD: message-id=<B823D66E-6677-46B7-A284-9D2B8A58042D@gmail.com>
Jan 17 23:13:33 v9193 postfix/local[25446]: 2FE75FC092C: to=<サーバー@sample.com>, relay=local, delay=0.65, delays=0.65/0.01/0/0, dsn=2.0.0, status=sent (forwarded as 621B6FC0BCD)
Jan 17 23:13:33 v9193 postfix/qmgr[21847]: 621B6FC0BCD: from=<送り主@gmail.com>, size=3064, nrcpt=1 (queue active)
Jan 17 23:13:33 v9193 postfix/qmgr[21847]: 2FE75FC092C: removed
Jan 17 23:13:33 v9193 postfix/smtpd[25439]: disconnect from mail-pg0-f54.google.com[74.125.83.54]
Jan 17 23:13:34 v9193 postfix/smtp[25447]: certificate verification failed for gmail-smtp-in.l.google.com[64.233.189.27]:25: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
Jan 17 23:13:34 v9193 postfix/smtp[25447]: 621B6FC0BCD: to=<送り主@gmail.com>, orig_to=<サーバー@sample.com>, relay=gmail-smtp-in.l.google.com[64.233.189.27]:25, delay=1.4, delays=0/0.01/1/0.44, dsn=2.0.0, status=sent (250 2.0.0 OK 1484662414 e23si25037344pli.285 - gsmtp)
Jan 17 23:13:34 v9193 postfix/qmgr[21847]: 621B6FC0BCD: removed

環境

CentOS 6.8
devecot 2.0.9
postfix 2.6.6

追記 1

変更後のメールのログ

an 18 12:37:50 v9193 postfix/smtpd[27227]: connect from mail-pg0-f67.google.com[74.125.83.67]
Jan 18 12:37:51 v9193 postfix/smtpd[27227]: setting up TLS connection from mail-pg0-f67.google.com[74.125.83.67]
Jan 18 12:37:51 v9193 postfix/smtpd[27227]: Anonymous TLS connection established from mail-pg0-f67.google.com[74.125.83.67]: TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)
Jan 18 12:37:51 v9193 postfix/smtpd[27227]: CC219FC0BCD: client=mail-pg0-f67.google.com[74.125.83.67]
Jan 18 12:37:52 v9193 postfix/cleanup[27231]: CC219FC0BCD: message-id=<11B452BB-0F36-47B3-BFEF-8B5569B7618E@gmail.com>
Jan 18 12:37:52 v9193 postfix/qmgr[26729]: CC219FC0BCD: from=<送り主@gmail.com>, size=2720, nrcpt=1 (queue active)
Jan 18 12:37:52 v9193 postfix/local[27232]: CC219FC0BCD: to=<root@sample.com>, orig_to=<サーバー@sample.com>, relay=local, delay=0.6, delays=0.59/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Jan 18 12:37:52 v9193 postfix/qmgr[26729]: CC219FC0BCD: removed
Jan 18 12:37:52 v9193 postfix/smtpd[27227]: disconnect from mail-pg0-f67.google.com[74.125.83.67]
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • Kosuke_Shibuya

    2017/01/18 16:47

    例示に使うのであれば、sample.com ではなく、example.com を使いましょう。

    キャンセル

  • ikedas

    2017/01/18 16:53

    うん。sample.comは実在しますからね。

    キャンセル

  • yuki_90453

    2017/01/18 16:58

    了解です。今回sample.comでお願い致します

    キャンセル

回答 2

checkベストアンサー

+1

メールログを見ると、<サーバー@sample.com> で受け取ったメールが <送り主@gmail.com> に転送されています。
~サーバー/.forward か /etc/aliases で転送していませんでしょうか。

なお、Gmail では、転送されて受信したメール(送信したメールと同じ Message-Id のメール)は見えないので、送信したメールのみが見えると思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/18 12:48

    /etc/aliases でログ送信用にメールアドレスを設定していましたので、解除しメールを送信した所、上記(質問最下部の追記1)のようなログが排出されました。
    delivered to maildirと書かれていますが、クライアントソフトではメール受信されないのですが、設定でのディレクトリのミスなんでしょうか?

    キャンセル

  • 2017/01/18 12:51

    >/etc/aliases でログ送信用にメールアドレスを設定していましたので、解除し
    * メールアドレスが設定されていた所を root に戻しました。

    info@sample,comにメール送信した所、ログにto=<root@sample.com> origin_to=<info@sample,com>と記載していますがこれも受信出来ない原因なのでしょうか。

    キャンセル

  • 2017/01/18 16:19

    info→(postmaster)→root に転送したのであれば、/root/Maildir/ 以下に保存されます。
    ただし、dovecot では root ユーザー(uid 0)のメールは POP3, IMAP では見れなかったと思います。
    root ユーザーのコマンドラインから 「mailx -f /root/Maildir/」で参照できると思います。

    info@sample.com のまま受信したいのであれば、/etc/aliases の info→postmaster の転送を無効にし、OSユーザーとして info ユーザーを作成すればいいと思います。
    受信したメールは /home/info/Maildir/ 以下に保存されます。

    キャンセル

  • 2017/01/18 18:00

    mailx -f /root/Maildir/で受信したメールを確認出来ました。
    /etc/aliasesの「info postmaster 」はコメントアウトと、infoユーザーは作成済みです。

    >受信したメールは /home/info/Maildir/ 以下に保存されます。
    「mailx -f /home/info/Maildir/」を実行したのですが、メールは確認出来ませんでした。
    何度かgmailからメールサーバーへ送信して見ましたが 0 messageと表示されます。

    キャンセル

  • 2017/01/18 18:06

    newaliasesを忘れてました、ありがとうございます。

    キャンセル

0

ご質問で例示に用いておられるドメイン名は実在しますので、以下では代わりに例示目的のために予約されているexample.comを使います。


さて、実現すべきことをもう一度まとめてみます。

  • メールサーバで使うメールアドレス (ここではuser@example.comとする) 宛てのメッセージが、該当ユーザのメールボックスに配送されること。
  • エイリアスアドレス (ここではalias@example.comuser@example.comのエイリアスであるとする) 宛てのメッセージは、エイリアス先のユーザのメールボックスに配送されること。
  • 該当ユーザのメールボックスにあるメッセージを、メールクライアントを用いて受信できること。

システム全体の概念図を示します。

      送られてきたメッセージ
             |(A)   |(B)
             |SMTP  |SMTP
+------------|------|--------+
| +----------|------|--+     |
| | Postfix  |      |  |     |
| |  +------------+ |  |     |
| |  |/etc/aliases| |  |     |
| |  +------------+ |  |     |
| +----------|------|--+     |
|            |      |        |
|            v      v        |
|  +----------------------+  |
|  | user's mailbox       |  |
|  +----------------------+  |
|                |           |
|     +----------|---------+ |
|     | Dovecot  |         | |
|     +----------|---------+ |
|                |           |
+----------------|-----------+
                 | IMAP4 / POP3
                 v
      +-------------------+
      | メールクライアント |
      +-------------------+

(A) <alias@example.com> 宛てのメッセージ
(B) <user@example.com> 宛てのメッセージ


では、正常に動作するかどうかをひとつひとつ確認してゆきましょう。

 メールボックスへのメッセージ配送の確認

  1. 設定確認: エイリアスファイル (/etc/aliases) に、aliasからuserへのエイリアス設定があることを確認。  
    ※設定がなければ追加し、newaliasesを実行する。

  2. メールサーバ上にユーザuserが存在することを確認する。  
    getent passwd userを実行して結果が表示されることで確認する (ユーザが存在しないと何も表示されません)。
    ※このユーザが存在しなければ、そもそもこのユーザのメールボックスにメッセージを配送することはできません。

  3. 外部から <user@example.com> 宛てにメッセージを送信し、メールサーバのログ (/var/log/maillog等) にuserのメールボックス (maildir) への配送成功が記録されることを確認する。

  4. 外部から <alias@example.com> 宛てにメッセージを送信し、メールサーバのログ (/var/log/maillog等) にuserのメールボックス (maildir) への配送成功が記録されることを確認する。

  5. さらに、userのメールボックス (設定によれば、userのホームディレクトリの直下にあるMaildirというディレクトリ) の中 (サブディレクトリの中) に、上で送信した2通のメッセージが格納されていることを確認する。

 メールボックス中のメッセージをクライアントで受信できることの確認

設定によると、user@example.comというメールアドレスを持つユーザのための、クライアントの設定は次のようになります。

  • プロトコル: imaps (IMAP4 over TLS) または pop3s (POP3 over TLS)
  • ユーザ: user
  • パスワード: userのパスワード
  • メールアドレス: user@example.com
  1. クライアントの設定が上記の通りであることを確認する。

  2. クライアントで受信操作を行い、認証が失敗しないこと、及び先にメールボックスに配送された2通のメッセージを受信できることを確認する。

  3. 上記の操作中、メールサーバのシステムログ (/var/log/maillog等) に、エラーメッセージ等が表示されていないことを確認する。


以上の手順でうまくいかない点があれば、そのことをご質問に追記下さい。

その際は、次のような情報を必ず書いて下さい。

  • 実際に行った操作手順 (具体的に)。
  • エラーメッセージ等が表示された場合、その内容 (略さない全文)。
  • 操作中のシステムログ (/var/log/maillog等) の出力内容。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

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

  • CentOS

    2835questions

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

  • Postfix

    276questions

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

  • メール

    267questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

  • Dovecot

    70questions

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