
さくらのVPSを借りてdebianでpostfix(+ dovecot)のメールサーバーを立ち上げました。
一通り設定して、以下のように動きを確認しました。
○ メールを、サーバー自身からサーバー自身へ送る
○ メールを、サーバーから外部メール(gmail)へ送る
× 外部メール(gmail)から、サーバーへ送る
gmailから私が立てたサーバーへ送るメールが受信できずに失敗します。
gmailでは、下記のようなエラーメールが返ってきます。
---
This is an automatically generated Delivery Status Notification
THIS IS A WARNING MESSAGE ONLY.
YOU DO NOT NEED TO RESEND YOUR MESSAGE.
Delivery to the following recipient has been delayed:
test1@example.com
Message will be retried for 2 more day(s)
Technical details of temporary failure:
The recipient server did not accept our requests to connect. Learn more at http://mail.google.com/support/bin/answer.py?ans …
[mail.example.com. (10): Connection refused]
---
そして、/var/log/mail.logには、この際何も記述されていません。
そのため、postfixへメールが送られる以前にどこかで間違っているのだと思うのですが、原因を特定できません。
上記、googleのエラーメールに「参考にしてねhttp://mail.google.com/support/bin/answer.py?ans …」みたいなアドレスが書いてあるので、参考にしてみたのですが、
・相手側のドメインに最新の MX レコードがないか、設定が不適切です。
上記に関してはdigコマンドで
#dig example.com MX
とコマンドを打って見たところ、ANSWER(mail.example.com)が返ってきたので問題はないのでは、と考えています。
・相手側のドメインで Gmail からのメールがブラックリストやグレーリストに登録されています。
上記、アドレスを拒否するような指定はpostfixのmain.cfで参考書を元に下記設定をしたところがありますが、
smtpd_client_restrictions = permit_mynetworks, reject_rhsbl_client all.rbl.jp
試しにコメントアウトしてみても、メールを受信できませんでした。
・相手側のドメインで一時的にネットワークの問題が発生しています。
pingとtracerouteで、きちんとつながることを確認しています。
対象のメールアドレスがバーチャルメールアドレスなのですが、バーチャルメールアドレスにおいて何らかの設定ミスがあるのであれば、/var/log/mail.logにログが残るはずなので、やはりそれ以前の何かがおかしいのではと疑っています。
下記に、バーチャルメールアドレスの為のDNSサーバーの現在の設定を書いておきます。
---------
example.com. 1D IN SOA ns.example.com. root.example.com. (
2011101502 ;serial
28800 ; refresh
7200 ; retry
3600000 ; expiry
3600 ; minimum
)
IN NS ns.hoge.net. ; ネームサーバ
IN NS ns.hoge2.net. ; セカンダリネームサーバ
IN MX 10 mail.example.com. ; メールサーバ1
IN A 12.345.67.89 ; webサーバ
www IN A 12.345.67.89 ; webサーバー
mail IN A 12.345.67.89 ; メールサーバー
-----------------
(実際に指定しているアドレスはexample.comではなく、自分で取得したアドレスを使用しています)
何か、原因が分かる方いらしゃいまいたらお教え願えませんでしょうか?
足りない情報がありましたら、ご指摘いただければ追加いたします。
また、「試したって書いてるけど、ほんとにこれやって試した?もう一回やってみ」というツッコミも待っています。
以上、よろしくおねがいいたします。
No.3ベストアンサー
- 回答日時:
>○ メールを、サーバー自身からサーバー自身へ送る
このメール送信方法は、どのように行いましたか?
もし、メール送信方法が
サーバ内でsendmailコマンドやmailコマンドを起動する方法だと、
SMTPによる通信を一切行いません。
従って、サーバのSMTP受信設定が誤っている可能性でてきます。
e.g. iptablesで25/tcpを接続拒否している。
e.g. TCP Wrapperで接続拒否している。
e.g. smtpdが25/tcpでlistenしていない。
テスト項目として、
・同一サーバ内から
127.0.0.1の25/tcpポートへ、telnetで接続できることを確認する。
・同一サーバ内から
グローバルIPの25/tcpポートへ、telnetで接続できることを確認する。
・Outbound port 25 blocking制限がないノード※から、
当該サーバの25/tcpポートへ、telnetで接続できることを確認する
※他プロバイダのメールサーバの25/tcpにtelnet接続できるかどうかで
制限有無が確認できます。
等の試験を行ってみると原因の切り分けになります。
ありがとうございます。頂いたご回答を元に、解決致しました。
参考書を読みながらpostfixサーバーを立てたのですが、その本にOPB25の解説があり、スパムメール制限の為に25番ポートの使用を制限し、代わりに587番のサブミッションポートを使用するよう解説があったため、そのように設定したのち、25番ポートは不要と思いポートを閉じてしまっていました。
上記テスト項目をいただき、25番ポートを開いてテストしている途中に、以前外部からサーバーに送信して(そして彷徨って)いたメールが受信できていることに気がつきました。
(でも、25番ポートはあんまり使ってはいけないのでは?という疑問が残りますが……)。
No.7
- 回答日時:
postfix上の具体的な設定の話ではありませんが、
Outbound port 25 blockingやサブミッションポートのポリシー(考え方)は、
以下のようになっています。
1.メールサーバのsmtp(25/tcp)は、自ドメイン宛のメールのみ受付する。
他ドメイン宛のメールは受付拒否する。
2.メールサーバのsubmission(587/tcp)は、SMTP-Authで認証OKの場合のみメール受付する。
SMTP-Auth認証しないメールは受付拒否する。
3.ネットワーク管理者(ISPや企業など)は、ファイアウォールで以下の通信制限を実施する。
-自ネットワークのメールサーバからのSMTP(外向け25/tcp)は通信許可する。
-メールサーバ以外からのSMTP(外向け25/tcp)は遮断する。
-submission(外向け587/tcp)は通信許可する。
「上記の3設定を全世界で行えば、スパムメールの送信数を減らせるはず」
というのがその根底にある目的ですね。逆に、
「自分がスパムメール送信の加害者にならないためには、上記の3設定を遵守しましょう」
という話でもあります。
結論、適切な設定でsmtp(25/tcp)ポートを開放することは全く問題ありません。
上記の3設定を遵守して、自らがスパムメール送信の加害者とならないよう
留意しましょう。
No.6
- 回答日時:
>参考書を読みながらサーバーを立てたのですが、OPB25対応の項目を読んで、サブミッションポート(587)を開き、その際に25番ポートを閉じてしまったのが原因でした。
>「25番ポートは開いていいの?スパムメール送っちゃったりしないの?」と個人的に思うのですが。
外部からのメールを受けたければポート25の解放は必須です。送信側にポート番号を知らせる方法はありませんし、あなたのサーバーからは相手の25に送っていますよね?
ポート25でメールを受けることと迷惑メール送信とは直接関係はありません。
Postfixの設定で適切な規制を掛ける、受け取った側で処理する(SpamAssassinとか)などの対策を考えるとよろしいかと。
第三者転送を防止する設定を行っておけば入り口の対策としては十分です。
うちのpostfixはこんな設定になってます。
smtpd_client_restrictions = permit_mynetworks, reject_rbl_client all.rbl.jp
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
No.5
- 回答日時:
ひょっとするとmydestinationがデフォルトのままになっていませんか?
このままだと127.0.0.1ではないアドレスの25番ポートは開かれませんので、適切な設定を行ってください。
↓この状態だと自分のサーバーを起点とするメール送受信は出来ますが、外部からは接続できない状態です。
#postconf -n
~
mydestination = $myhostname, localhost.$mydomain, localhost
~
この回答への補足
ご回答ありがとうございます。
参考書を読みながらサーバーを立てたのですが、OPB25対応の項目を読んで、サブミッションポート(587)を開き、その際に25番ポートを閉じてしまったのが原因でした。
「25番ポートは開いていいの?スパムメール送っちゃったりしないの?」と個人的に思うのですが。
No.4
- 回答日時:
> [mail.example.com. (10): Connection refused]
とあるのでSMTPのポートに接続できないようですね。
ファイヤウォールでブロックしていないでしょうか?
また Postfix が外部から接続できるようにTCPの25番ポートで待ち受けているでしょうか。
試しに netstat -lntp を実行して以下のような行が見つかるでしょうか。
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2865/master
もしLocal Address (内部アドレス) が 127.0.0.1:25 になっている場合はサーバーの
外部から接続できません。
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2865/master
ご回答ありがとうございます。
すみません。頂いた回答から順に確認していましたが、tomajuさまのアドバイスがそのものズバリですね。
参考書をもとにpostfixサーバーを立てたのですが、OPB25への対応としてサブミッションポート(587)を使用するよう書かれていたため、そのように設定し、その際に25番ポートは不要なものと判断して閉じてしまっていました。
でも、25番ポートはスパムメール対策として開けてはいけないんじゃないの、という疑問が残りますが……。
No.2
- 回答日時:
maillogに何も載らないと言うことは、そもそも接続が行われていません。
なのでPostfixの設定以前の話と言うことになります。
一番考えられるのはドメインの設定が正しく行われておらず、ルートDNSサーバーからたどれない状態になっている。ですかね…
自分のサーバーでdigを実行するところまでは良いのですが、別のサーバーからの応答も見てみてください。
たとえばGoogle Public DNSとか(dig mx example.com @8.8.8.8)です。
この回答への補足
回答ありがとうございます。
教えていただいた下記コマンド
dig mx example.com @8.8.8.8
実際のアドレスで試してみたのですが、下記のようなANSWER SECTION
;; ANSWER SECTION:
example.com.10799INMX10 mail.example.com.
が表示されたので、おそらく大丈夫だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
送信したメールにプライベート...
-
iPadの受信メールが消える
-
mboxと/var/mailのファイルの関係
-
Mailの受信メールが自動的に削...
-
Mailの送信済みメールボックス...
-
Linuxからのメール送信について
-
メールボックスがいっぱいにな...
-
Postfixの動作(mydestinations...
-
macで送信済みメールが突然消え...
-
MacのMailで送信していないのに...
-
Macメール 送信元が設定と一致...
-
mailでずっと送信中になってし...
-
リモートデスクトップ接続でパ...
-
同一のホスト名で何か問題があ...
-
パスワード設定していないユー...
-
エクセルで#N/Aを含めた平均値...
-
循環参照にならない方法があっ...
-
エラーメールで"too many hops"...
-
サーバーというのとメインフレ...
-
root権限によるFFFTPでの接続
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Mailの送信済みメールボックス...
-
iPadの受信メールが消える
-
macで送信済みメールが突然消え...
-
Thunderbird) 送信したメールが...
-
mailでずっと送信中になってし...
-
メールボックスがいっぱいにな...
-
Mailの読み込み専用とは?
-
Ubuntuサーバーでメールを受信...
-
Mailの受信メールが自動的に削...
-
Macメール 送信元が設定と一致...
-
メールの添付ファイルはどれく...
-
Postfix+Dovecot, ThunderBird...
-
MailでPOPサーバーに直接アクセ...
-
postfixによる受信がうまくいか...
-
Postfixとdovecot 設定
-
Mailの設定について
-
PostFixでのメールサイズ制限が...
-
sendmail : 特定のアドレス...
-
postfixメールサーバー構築につ...
-
メールについて
おすすめ情報