(無償) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

2017年6月14日水曜日

【fetchmail 6.3.17】不正なヘッダーを持ったメールがfetchmailで受信されずPOP3サーバに残存する問題について【CentOS6.9 64bit】

fetchmail(Ver. 6.3.17)を用いてPOP3でメールを受信していたところ、ログに次のエラーが記録された。
fetchmail incorrect header line found while scanning headers

不正なヘッダーを持つメールがPOP3サーバに存在しているらしい。

また、下記のように、「not flushed」と記録されたことから、メールがPOP3サーバから削除されなかったことがわかった。

# less /var/log/maillog
Jun 11 00:45:03 MyPC fetchmail[14617]: 2 messages for mymailaccount at mail.example.com (18462 octets).
Jun 11 00:45:03 MyPC fetchmail[14617]: reading message mymailaccount@mail.example.com:1 of 2 (10984 octets) (log message incomplete)
Jun 11 00:45:03 MyPC fetchmail[14617]: incorrect header line found while scanning headers
Jun 11 00:45:03 MyPC fetchmail[14617]:  not flushed

POP3サーバから削除されなかったメールは、この不正なヘッダーを持つメールだけのようである。
それ以外のメールは、通常通り受信されて、サーバから削除されていた。(nokeepの場合)



■不正なヘッダーを持つメールも受信するように設定した。

不正なヘッダを持つメールだとしてもPOP3メールサーバーに残ったままになるのは困るので、
強制的に受信処理するように、次のように設定ファイルに1行追加した。

(注意)
これによって受信できるようになったが、利用環境によっては、
不正なヘッダーのメールを処理することによって何か不具合が生じるかもしれない。

# vi fetchmailrc
(省略)
defaults:
bad-header accept
(省略)
設定後、fetchmailを動作させてPOP3サーバからメールを受信した。

ログを確認した。
# less /var/log/maillog
Jun 14 05:15:03 MyPC fetchmail[1143]: 3 messages for mymailaccount at mail.example.com (96755 octets).
Jun 14 05:15:03 MyPC fetchmail[1143]: reading message mymailaccount@mail.example.com:1 of 3 (3765 octets) flushed
Jun 14 05:15:04 MyPC fetchmail[1143]: reading message mymailaccount@mail.example.com:2 of 3 (81977 octets) flushed
Jun 14 05:15:04 MyPC fetchmail[1143]: reading message mymailaccount@mail.example.com:3 of 3 (11013 octets) flushed
不正なヘッダーを持つメールも、受信されPOP3サーバから削除された。



<参考>
・fetchmailでヘッダ異常のメールを読み取らせる
< https://hgotoh.jp/wiki/doku.php/documents/mail/mail-001 > 2017年6月14日

・fetchmail(1)
< https://www.freebsd.org/cgi/man.cgi?query=fetchmail&manpath=SuSE+Linux/i386+11.3 > 2017年6月14日