Mail受信タイムアウトエラー

//--
Mail受信中にエラーになり受信が完了しないという連絡がありました
//--

Mail受信中にメーラーがタイムアウトしてしまい受信が完了できないとお客様から連絡が入った

○Mailログを確認

# view /var/log/maillog
---
Apr  2 16:12:00 hogehoge in.qpopper[30988]: USERNAME at DomainName (XXX.XXX.XXX.XXX): -ERR POP EOF or I/O Error [popper.c:820]
Apr  2 16:12:01 hogehoge in.qpopper[30988]: I/O error flushing output to client USERNAME at DomainName [XXX.XXX.XXX.XXX]: Broken pipe (32) [pop_send.c:689]
---
ログを確認したところ受信の際にエラーになっているログを確認
送信は全然問題が無さそう

○受信対象のメールの量
# ls -la /var/spool/mail
-rw-------   1 root   mail 55520287 Apr  4 22:10 root

○POPの時間を延長する
受信中にタイムアウトになっていると考えPOPのタイムアウト間隔を長くしてみる

# vi /etc/qpopper.conf(defaultは120秒)
---
# set timeout                  = 120

set timeout                  = 600
---

POP再起動
/etc/init.d/xinetd restart

受信を試してもらったがまたもや受信できないと言われてしまった。。。

○POPの逆引き設定のOFF

# vi /etc/qpopper.conf(defaultは120秒)
---
# set reverse-lookup           = true

set reverse-lookup           = false
---

POP再起動
/etc/init.d/xinetd restart

受信を試してもらったがまたもや受信できないと言われてしまった。。。

○メーラーの設定変更

メーラーで受信間隔をdefault1分から最大に変更してもらった。

それでも受信できないと言われてしまった。。。

○エラー画面を確認

エラー時の画面キャプチャを送ってもらう。

ポップアップエラー画面に某virus対策ソフトの名前が。。。
そのソフトがタイムアウトさせていると予想したところビンゴ!でした。

| | コメント (0) | トラックバック (0)

sendmail 25、587番許可について

//--
ISPが25番ポートの利用を不許可にしてしまった場合
//--

ISPでは25番を使えないようにする傾向があるようです。

○25番以外で受信できるポート587番を確認する

/etc/servicesで587ポートの使用用途を確認する

# grep '587' /etc/services
submission  587/tcp # Submission [RFC2476]
submission  587/udp

開放されているIPとポートを確認する

# netstat -ln
該当行を確認する
---
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN
もしくは
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
---

※127.0.0.1だけに開放されている場合は後でsendmail.mcを編集する

○iptablesに587番ポートを開ける設定を追加

設定を確認
# iptables -L -nv
---
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
---
上記のように開放されていることを確認!

○sendmailの設定でsubmissionポートの許可とIP指定箇所を変更する

# cd /etc/mail
# vi sendmail.mc

---
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, Addr=127.0.0.1')dnl
↓上記の場合submissionポート許可有効だが127.0.0.1だけ許可なので設定を削除する
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission')dnl
---

設定を反映
# cp sendmail.cf sendmail.cf_YYYYMMDD[UserName]
# m4 sendmail.mc > _sendmail.cf
# mv _sendmail.cf sendmail.cf
sendmail再起動
# ps ax | grep 'sendmail'
# /etc/init.d/sendmail restart
# ps ax | grep 'sendmail'

確認方法
# telnet localhost 25
# telnet localhost 587
mailの応答があれば作業は完了

| | コメント (0) | トラックバック (0)