Cent_Postfix
の編集
index.php?Cent_Postfix
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#contents() *** 初期設定 [#q7b6c769] - &ref(main.cf); asof 20060905 - &ref(master.cf); asof 2006090 *** munakata@hmuna → munakata.hisao@hmuna.com アドレス自動変換 [#qcc2d5be] - postfix 標準機能である canonical アドレスマップを利用する -- /etc/postfix/canonical の編集 # # 2006-9-6 muna : ( munakata@hmuna.com | stored_mail@hmuna.com ) -> munakata.hisao@renesas.com # munakata@hmuna.com munakata.hisao@renesas.com stored_mail@hmuna.com munakata.hisao@renesas.com -- canonical maps の有功化 [root@spirit ~]# postmap /etc/postfix/canonical [root@spirit ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@spirit ~]# postconf | grep canonical_maps canonical_maps = hash:/etc/postfix/canonical proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks recipient_canonical_maps = sender_canonical_maps = - /var/log/maillog でアドレス変換が働いていることを確認 (外部には munakata@hmuna.com は流出しなくなった ) Sep 6 07:53:10 spirit postfix/smtp[11188]: 0B7B5F75553: to=<munakata.hisao@renesas.com>, orig_to=<munakata@hmuna.com>, relay=127.0.0.1[127.0.0.1], delay=3, status=sent (250 2.6.0 Ok, id=09093-10, from MTA([127.0.0.1]:10025): 250 Ok: queued as CE109F75559) *** サイズの大きな(1Mバイト以上 程度)添付ファイルのついたメールを受信すると fetchmail の転送が止まる問題が発生 (重大欠陥) [#m9a9c89b] - fetchmaillog でエラーの状況を見ると.... ⇒ &color(red){header情報が不正で 300秒のタイムアウト};をしたと言っている 1279 fetchmail: No mail for munakata at owa.hsdv.com 1279 fetchmail: 1 message for munakata at owa.hsdv.com. 1280 fetchmail: reading message munakata@ns02.hsdv.com:1 of 1 (816 header octets) fetchmail: incorrect header line found while scanning headers 1281 fetchmail: timeout after 300 seconds. 1282 fetchmail: socket error while fetching from owa.hsdv.com 1283 fetchmail: Query status=2 (SOCKET) 1284 fetchmail: 2 messages for munakata at owa.hsdv.com. 1285 fetchmail: reading message munakata@ns02.hsdv.com:1 of 2 (816 header octets) fetchmail: incorrect header line found while scanning headers 1286 fetchmail: timeout after 300 seconds. 1287 fetchmail: socket error while fetching from owa.hsdv.com 1288 fetchmail: Query status=2 (SOCKET) 1289 fetchmail: 3 messages for munakata at owa.hsdv.com. 1290 fetchmail: reading message munakata@ns02.hsdv.com:1 of 3 (816 header octets) fetchmail: incorrect header line found while scanning headers 1291 fetchmail: timeout after 300 seconds. 1292 fetchmail: socket error while fetching from owa.hsdv.com 1293 fetchmail: Query status=2 (SOCKET) - fetchmail の問題(エラーの誤検出) に原因があると想定し &color(red){fetchmail を最新 (=6.3.4) に更新した}; -- [[現在の fetchmail 公式サイト:http://fetchmail.berlios.de/]] から &ref(fetchmail-6[1].3.4.tar.bz2,center,fatchmail -6.3.4); をダウンロードしてビルド、インストール [root@spirit fetchmail-6.3.4]# ./configure --with-ssl [root@spirit fetchmail-6.3.4]# make [root@spirit fetchmail-6.3.4]# make install *** fetchmail の設定 (ver2.0 2006-10) [#aa3ff7a1] - fetxhmail ( 6.3.4 ) ) の設定は /root/.fetchmail に集約した ⇒ &ref(.fetchmailrc,center,/root/.fetchmailrc); [root@spirit ~]# cat /root/.fetchmailrc set postmaster server_admin set no bouncemail set logfile "/home/munakata/log/fetchmaillog" defaults protocol imap port 993 fetchall flush no keep limit 10000000 no limitflush no mimedecode smtphost localhost ssl # sslcertpath /usr/local/certs/ # sslproto ssl23 # sslfingerprint "EF:90:AA:A0:85:12:1F:B4:D1:E8:2A:1C:23:C2:F8:2E" poll owa.hsdv.com user munakata password freedman is munakata here ssl ##poll 172.26.0.227 user b1600471 password freedman is munakata here - fetchmail 設定の確認 [root@spirit ~]# fetchmail -V fetchmail: 警告: root アカウントでの実行はお薦めできません。 fetchmail リリース 6.3.4 +SSL+HESIOD+NLS. Copyright (C) 2002, 2003 Eric S. Raymond Copyright (C) 2004 Matthias Andree, Eric S. Raymond, Rob F. Funk, Graham Wilson Copyright (C) 2005-2006 Matthias Andree, Sunil Shetye Fetchmail はまったくの無保証です。これはフリーソフトウェアで、 いくつかの条件を満たせば再配布は大歓迎です。 詳しくは、COPYING ファイルを見てください。 Fallback MDA: (none) Linux spirit.hmuna.com 2.6.9-42.0.2.EL #1 Tue Aug 22 23:56:05 CDT 2006 i686 i686 i386 GNU/Linux コマンドライン及び/root/.fetchmailrcよりオプションを設定します。 ログファイルは /home/munakata/log/fetchmaillog です。 ID ファイルは /root/.fetchids です。 Fetchmail はログファイル中にも進行状況を示す . を書き込みます。 Fetchmail は誤った宛先の書かれたメッセージを server_admin に転送します。 Fetchmail は postmaster 宛にエラーメールを送信します。 アカウント munakata@owa.hsdv.com でのオプションです。 サーバの本名は owa.hsdv.com です。 IMAP プロトコルを利用します。 (993 サービスを利用します). 利用可能な全ての認証方式を試みます。 SSL による暗号化通信が行われます。 サーバの応答制限時間は 300 秒です。 (デフォルト)。 デフォルトのメールボックスが選択されました。 すべてのメッセージを取得します。 (--all on) 取得したメッセージはサーバに保持しません (--keep off) 古いメッセージは取得の前に消去されます。 (--flush on) 容量超過したメッセージは取得の前に消去されます。 (--limitflush on) server-local アドレスへの書き換えを行います。 (--norewrite off) 改行記号の除去を行いません。 (stripcr off) 改行記号の追加を行いません。 (forcecr off) Content-Transfer-Encoding の変換を行います。 (pass8bits off) MIME のデコードを行いません。 (mimedecode off) サーバアクセス後の待機を行いません。 (idle off) 記述のある Status 行を保持します。 (dropstatus off) Delivered-To 行を破棄します。 (dropdelivered off) メッセージの大きさの最大 10000000 バイトに制限されます。 (--limit 10000000) 取得できるメッセージのサイズは 100 に制限されます。(--fetchsizelimit 100) 3 回 (4 接続のうち) UID の二分木検索を行います。(--fastuidl 4) 受信したメッセージは SMTP によって次に示すサーバへ転送されます : localhost `single-drop' モード: 1 個の localname が存在します。 このホストからの UID は記録されていません。 - fetchmail のデーモンモードでの起動 [root@spirit fetchmail-6.3.4]# fetchmail -d 300 -t 120 fetchmail: 警告: root アカウントでの実行はお薦めできません。 - デーモンモードでは データ取得間隔=2分、 一回の接続制限時間(タイムアウト)=5分とした - この設定では、もし一回の接続で2分以上時間がかかっても5分までは正常に受信を続けることができる - 以前 cron で毎回の受信を起動設定していた時には、前の fetchmail が起動中に次の起動が重なりエラーになっていたがこの問題の対策にもなっている - 実行時のログ確認 (ssl 関係でエラーが出ているが動作は正常) [root@spirit ~]# tail -f -n 40 /home/munakata/log/fetchmaillog fetchmail: fetchmail 6.3.4 デーモンを動作開始します。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 2006年10月09日 00時19分21秒 に休眠状態となりました。 -- &color(red){sslの自己認証局が信頼できない.... と言っている}; -- &color(red){ここで問題を指摘された自己認証局が owa.hsdv.com か mail.hmuna.com かは判定出来ていない}; *** postfix のサイズ制限設定 [#o3ec1c3a] - main.cf にメッセージサイズ制限、メールボックスサイズ制限を書く # muna re-define size limit ( message 10M, mailbox per file=512M ) # 但し /Maildir を使っているので mailbox_size_limit の設定は意味がないが mailbox_size_limit = 512000000 message_size_limit = 10240000 - 設定の確認 [root@spirit postfix]# postconf | grep size berkeley_db_create_buffer_size = 16777216 berkeley_db_read_buffer_size = 131072 body_checks_size_limit = 51200 bounce_size_limit = 50000 ( 50k) header_size_limit = 102400 (100k) mailbox_size_limit = 512000000 (512M) message_size_limit = 10240000 ( 10M) - &color(red){⇒何れにしても 5M 程度の添付ファイルでバウンスはしないはずである!}; *** procmail レシピ [#d66ce8cf] - &ref(procmailrc_munakata_20061110); - &ref(procmailrc_public_20061110); *** postfix のサイズ制限と fetchmail のサイズ超過メールの削除を指定して daemon として fetchmail を起動した [#y10e86fa] - ログ ( fetchmail のサイズ制限が 1M の設定時 ) fetchmail: 4 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ (2449133 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 2 番目のメッセージ(全部で 4 通)を読み込んでいます (986 バイト (ヘッダ) ) fetchmail: (4914 バイト (本体) )fetchmail: サーバからメッセ ージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 3 番目のメッセージ (8900697 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 4 番目のメッセージ(全部で 4 通)を読み込んでいます (821 バイト (ヘッダ) ) fetchmail: (765 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月07日 16時22分56秒 に休眠状態となりました。 - ログ ( fetchmail のサイズ制限が 10M の設定時 ) fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでいます (699 バイト (ヘッダ) ) fetchmail: (6260571 バイト (本体) )fetchmail: 500 秒間待機し ましたが制限時間を超過しました。 fetchmail: socketエラーが munakata@owa.hsdv.com よりメールを受信している最中に発生しました。 fetchmail: Query status=2 (SOCKET) fetchmail: 2006年10月07日 16時49分50秒 に休眠状態となりました。 fetchmail: 2006年10月07日 16時51分50秒 に動作を再開しました。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 1 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでいます (699 バイト (ヘッダ) ) fetchmail: (6260571 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月07日 16時52分03秒 に休眠状態となりました。 - &color(red){何れにしても大きな添付ファイルを受信しても fetchmail のメール転送が停止してしまう傷害は発生しなくなった}; -- 大きな添付ファイルのついたメールの後に通常のメールを送信した場合、正常に通常のメールが転送されていることを確認した fetchmail: 2006年10月09日 11時56分49秒 に動作を再開しました。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 3 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ (8900075 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除し ませんでした。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 2 番目のメッセージ (8901431 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しませんでした。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 3 番目のメッセージ(全部で 3 通)を読み込んでいます (894 バイト (ヘッダ) ) fetchmail: (772 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月09日 11時56分50秒 に休眠状態となりました。 - サイズ超過メールを受信して、メールを自動的に削除した場合は、オリジナルの宛先向けに警告メールが届いた ⇒ 誰からのメールかはわからないが.... 件名:Fetchmail サイズ超過メッセージ 差出人:FETCHMAIL-DAEMON@spirit.hmuna.com 本 文:以下に示す容量を超過したメッセージはメールサーバ owa.hsdv.com アカウント munakata で削除されました : 1 番目のメッセージ(6261786 bytes の長さがあります)は削除されました。 - サイズ超過メールを受信して、メール転送を保留した場合は、オリジナルの宛先向けにサイズ超過メールが残っているとの警告メールが届く 件名:Fetchmail サイズ超過メッセージ 差出人:FETCHMAIL-DAEMON@spirit.hmuna.com 本 文:以下に示す容量を超過したメッセージがメールサーバ owa.hsdv.com アカウント munakata に残っています : 1 番目のメッセージ(8900075 バイト の長さがあります)は読み飛ばされました。 *** fetchmail の自動起動の設定 [#n3af8e64] - 起動スクリプト( /etc/init.d/fetchmail )・・・ /home 下の各ユーザーの .fetchmail を自動起動する [root@spirit ~]# cat /etc/init.d/fetchmail # chkconfig: 345 99 20 # # description: Fetchmail auto start script # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) for user in `ls /home/` do if [ -f /home/$user/.fetchmailrc ]; then echo "fetchmail for $user starting..." su $user -c "/usr/local/bin/fetchmail --daemon 120 --timeout 600" fi done ;; stop) # Stop daemons. for user in `ls /home/` do if [ -f /home/$user/.fetchmailrc ]; then echo "fetchmail for $user stoping..." su $user -c "/usr/local/bin/fetchmail --quit" fi done ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0 - 自動起動の設定 [root@spirit ~]# chkconfig --add fetchmail [root@spirit ~]# chkconfig --list | grep fetch fetchmail 0:off 1:off 2:off 3:on 4:on 5:on 6:off *** [[/etc/postfix/postconf (コマンド実行結果)>Cent_Postconf]] [#pae8b6e0] - &ref(postconf_20060905.txt); *** postfix 2.3.6 の導入 (2006-1-5) [#s940412a] - [[transport が見つからない問題>Postfix_Trobleshoot_1]] の対策の一環として &color(RED){2.0 系(=Cent OS 標準)⇒ 2.3.6にバージョンアップした}; - Postfix 2.2 系から TLS が標準サポートされるようになったことが 2.2系採用の最大の同期 - 2.0 環境は /etc/postfix_orig として残してある。 ⇒ &ref(postfix_orig.tgz); - 2.3 環境はまだバイナリーパッケージがないので &ref(postfix-2.3.6.tar.gz,center,ソース); から導入した - ソースからビルドする際に TLS、SASL、LDAP などはオプションで指定しないと組み込まれない (ので TLS と SASL を指定した) - 2.3 からは SASL 認証に従来使われていた Cyrus SASL 以外に Dovcot SASL を利用できる &color(red){⇒ 今回は Dovcot SASL を利用することにする}; - ソースのビルド方法 ⇒ 最初に TLS、SASL を組み込むために(configure ではなく)make で Makefile を生成する点がポイント [root@spirit postfix-2.3.6]# make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" "-DUSE_TLS"' AUXLIBS="-lssl -lcrypto" [root@spirit postfix-2.3.6]# make [root@spirit postfix-2.3.6]# make install <------ インストール場所は全てデフォルトとした -- make Makefile を繰り返した場合でも環境設定ファイル (=/etc/main.cf、/etc/master.cf など)は上書きされない -- 2.0 環境では gnome の MTA セレクタが使えるように sendmail = sendmail.postfix としてある部分を変更した(しないとエラーになる) - main.cf、master.cf を Postfix 2.3.6 キュメントに従って編集する (一部 2.0系から変更されている) -- &ref(main.cf_asof_20070105); -- &ref(master.cf_asof_20070105); *** [[Dovecot 1.0RC15 の導入 (2006-1-5) :http://www.dovecot.org/]] [#kfe765df] - Postfix 2.3.6 の SMTP Auth 認証に Dovcot SASL を指定したが、Cent 標準の Dovcot(=0.99) では Dovecot SASL が無かった - /etc/dovecot.conf を &ref(dovecot.conf_099,center,バックアップ); してから yum remove で一旦標準 Dovecot 環境を削除した - ソースから Dovecot をビルドした (特にオプション指定などはなく configure → make → make install で完了) - ソースからインストールした場合には環境設定 (=dovecot.conf) は /usr/local/etc の下にできる - 環境設定の内容は 0.99 から変更されている部分があるので、雛形(=/usr/local/etc/dovecot-example) から修正して作成 - この際 Postfix ドキュメントに指定された方法で Dovecot SASL の設定を反映した -- &ref(dovecot.conf_asof_20070105); - マニュアルにはimap/imaps/pop3/pop3s を別々にスクリプト起動する方法が推奨されているが、CentOS 標準の起動スクリプト(=/etc/init.d/dovecot) を参考にまとめてマスタープログラムが起動するようにした -- &ref(dovecot_startscript_asof_20070105); -- 起動直後のプロセス起動状態 (imap はログインあり、pop3 は待機状態 ) [root@spirit postfix-2.3.6]# ps aux | grep "pop3\|imap\|dovecot" root 5533 0.0 0.0 1868 580 ? Ss 14:39 0:00 /usr/local/sbin/dovecot <--- マスタープロセス root 5535 0.0 0.0 2956 976 ? S 14:39 0:00 dovecot-auth <---- 認証用プロセス dovecot 6032 0.0 0.0 4184 1660 ? S 16:32 0:00 imap-login dovecot 6040 0.0 0.0 4428 1440 ? S 16:32 0:00 imap-login dovecot 6055 0.0 0.0 5172 1664 ? S 16:36 0:00 imap-login 503 6092 0.0 0.0 7520 1836 ? S 16:42 0:00 imap dovecot 6093 0.0 0.0 4616 1664 ? S 16:42 0:00 imap-login 503 6108 0.0 0.0 6764 1836 ? S 16:50 0:00 imap dovecot 6109 0.0 0.0 4208 1660 ? S 16:50 0:00 imap-login munakata 10569 0.0 0.0 7204 1848 ? S 17:13 0:00 imap dovecot 10570 0.0 0.0 4972 1440 ? S 17:13 0:00 imap-login dovecot 10584 0.0 0.0 5508 1440 ? S 17:14 0:00 imap-login munakata 10586 0.0 0.0 7356 1868 ? S 17:14 0:00 imap <---- ログイン中プロセス dovecot 10703 0.0 0.0 4024 1436 ? S 17:31 0:00 pop3-login <--- ログイン待ちプロセス dovecot 10751 0.0 0.0 4532 1432 ? S 17:46 0:00 pop3-login dovecot 10753 0.0 0.0 4876 1432 ? S 17:46 0:00 pop3-login -- ソースからビルドして起動したときに dovecot というユーザーがないといってエラーになったので、ユーザを追加した - &color(red){最終的にサーバーとして imaps[munakata, public_mail, stored_mail]と pop[headline, dtv_rec] を動かしている}; *** headerchecks の設定 [#aeb1578a] - 上記設定で postfix + SMTP Auth + TLS の環境が立ち上がったので、懸案であった [[ヘッダー内のローカルネットワーク情報の削除>Cent_Postfilter]] の設定を付加 *** クライアントの設定 [#x683eccb] - SMTP Auth でユーザー認証が通ればメールリレーを許可する設定なので、送信メールにはログインが必要 - 更に SMTP 認証時には プレーンテキストでの認証を拒否する設定にしているので SSL or TLS で接続させる必要がある - 現状 IMAP メール受信には SSL を利用、POP には TLS を利用している -- IMAP サーバーに TLS で接続できないのは Dovecot がサポートしていないから ??? ・・・・ そんなはずはないが *** 参考 URL [#z75c11c6] - [[fetchmail project home:http://fetchmail.berlios.de/fetchmail]] - [[fetchmail project man ページ:http://fetchmail.berlios.de/fetchmail-man.html]] - [[amavisd-new settings for postfix (重要):http://www.ijs.si/software/amavisd/README.postfix.txt]]
タイムスタンプを変更しない
#contents() *** 初期設定 [#q7b6c769] - &ref(main.cf); asof 20060905 - &ref(master.cf); asof 2006090 *** munakata@hmuna → munakata.hisao@hmuna.com アドレス自動変換 [#qcc2d5be] - postfix 標準機能である canonical アドレスマップを利用する -- /etc/postfix/canonical の編集 # # 2006-9-6 muna : ( munakata@hmuna.com | stored_mail@hmuna.com ) -> munakata.hisao@renesas.com # munakata@hmuna.com munakata.hisao@renesas.com stored_mail@hmuna.com munakata.hisao@renesas.com -- canonical maps の有功化 [root@spirit ~]# postmap /etc/postfix/canonical [root@spirit ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@spirit ~]# postconf | grep canonical_maps canonical_maps = hash:/etc/postfix/canonical proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks recipient_canonical_maps = sender_canonical_maps = - /var/log/maillog でアドレス変換が働いていることを確認 (外部には munakata@hmuna.com は流出しなくなった ) Sep 6 07:53:10 spirit postfix/smtp[11188]: 0B7B5F75553: to=<munakata.hisao@renesas.com>, orig_to=<munakata@hmuna.com>, relay=127.0.0.1[127.0.0.1], delay=3, status=sent (250 2.6.0 Ok, id=09093-10, from MTA([127.0.0.1]:10025): 250 Ok: queued as CE109F75559) *** サイズの大きな(1Mバイト以上 程度)添付ファイルのついたメールを受信すると fetchmail の転送が止まる問題が発生 (重大欠陥) [#m9a9c89b] - fetchmaillog でエラーの状況を見ると.... ⇒ &color(red){header情報が不正で 300秒のタイムアウト};をしたと言っている 1279 fetchmail: No mail for munakata at owa.hsdv.com 1279 fetchmail: 1 message for munakata at owa.hsdv.com. 1280 fetchmail: reading message munakata@ns02.hsdv.com:1 of 1 (816 header octets) fetchmail: incorrect header line found while scanning headers 1281 fetchmail: timeout after 300 seconds. 1282 fetchmail: socket error while fetching from owa.hsdv.com 1283 fetchmail: Query status=2 (SOCKET) 1284 fetchmail: 2 messages for munakata at owa.hsdv.com. 1285 fetchmail: reading message munakata@ns02.hsdv.com:1 of 2 (816 header octets) fetchmail: incorrect header line found while scanning headers 1286 fetchmail: timeout after 300 seconds. 1287 fetchmail: socket error while fetching from owa.hsdv.com 1288 fetchmail: Query status=2 (SOCKET) 1289 fetchmail: 3 messages for munakata at owa.hsdv.com. 1290 fetchmail: reading message munakata@ns02.hsdv.com:1 of 3 (816 header octets) fetchmail: incorrect header line found while scanning headers 1291 fetchmail: timeout after 300 seconds. 1292 fetchmail: socket error while fetching from owa.hsdv.com 1293 fetchmail: Query status=2 (SOCKET) - fetchmail の問題(エラーの誤検出) に原因があると想定し &color(red){fetchmail を最新 (=6.3.4) に更新した}; -- [[現在の fetchmail 公式サイト:http://fetchmail.berlios.de/]] から &ref(fetchmail-6[1].3.4.tar.bz2,center,fatchmail -6.3.4); をダウンロードしてビルド、インストール [root@spirit fetchmail-6.3.4]# ./configure --with-ssl [root@spirit fetchmail-6.3.4]# make [root@spirit fetchmail-6.3.4]# make install *** fetchmail の設定 (ver2.0 2006-10) [#aa3ff7a1] - fetxhmail ( 6.3.4 ) ) の設定は /root/.fetchmail に集約した ⇒ &ref(.fetchmailrc,center,/root/.fetchmailrc); [root@spirit ~]# cat /root/.fetchmailrc set postmaster server_admin set no bouncemail set logfile "/home/munakata/log/fetchmaillog" defaults protocol imap port 993 fetchall flush no keep limit 10000000 no limitflush no mimedecode smtphost localhost ssl # sslcertpath /usr/local/certs/ # sslproto ssl23 # sslfingerprint "EF:90:AA:A0:85:12:1F:B4:D1:E8:2A:1C:23:C2:F8:2E" poll owa.hsdv.com user munakata password freedman is munakata here ssl ##poll 172.26.0.227 user b1600471 password freedman is munakata here - fetchmail 設定の確認 [root@spirit ~]# fetchmail -V fetchmail: 警告: root アカウントでの実行はお薦めできません。 fetchmail リリース 6.3.4 +SSL+HESIOD+NLS. Copyright (C) 2002, 2003 Eric S. Raymond Copyright (C) 2004 Matthias Andree, Eric S. Raymond, Rob F. Funk, Graham Wilson Copyright (C) 2005-2006 Matthias Andree, Sunil Shetye Fetchmail はまったくの無保証です。これはフリーソフトウェアで、 いくつかの条件を満たせば再配布は大歓迎です。 詳しくは、COPYING ファイルを見てください。 Fallback MDA: (none) Linux spirit.hmuna.com 2.6.9-42.0.2.EL #1 Tue Aug 22 23:56:05 CDT 2006 i686 i686 i386 GNU/Linux コマンドライン及び/root/.fetchmailrcよりオプションを設定します。 ログファイルは /home/munakata/log/fetchmaillog です。 ID ファイルは /root/.fetchids です。 Fetchmail はログファイル中にも進行状況を示す . を書き込みます。 Fetchmail は誤った宛先の書かれたメッセージを server_admin に転送します。 Fetchmail は postmaster 宛にエラーメールを送信します。 アカウント munakata@owa.hsdv.com でのオプションです。 サーバの本名は owa.hsdv.com です。 IMAP プロトコルを利用します。 (993 サービスを利用します). 利用可能な全ての認証方式を試みます。 SSL による暗号化通信が行われます。 サーバの応答制限時間は 300 秒です。 (デフォルト)。 デフォルトのメールボックスが選択されました。 すべてのメッセージを取得します。 (--all on) 取得したメッセージはサーバに保持しません (--keep off) 古いメッセージは取得の前に消去されます。 (--flush on) 容量超過したメッセージは取得の前に消去されます。 (--limitflush on) server-local アドレスへの書き換えを行います。 (--norewrite off) 改行記号の除去を行いません。 (stripcr off) 改行記号の追加を行いません。 (forcecr off) Content-Transfer-Encoding の変換を行います。 (pass8bits off) MIME のデコードを行いません。 (mimedecode off) サーバアクセス後の待機を行いません。 (idle off) 記述のある Status 行を保持します。 (dropstatus off) Delivered-To 行を破棄します。 (dropdelivered off) メッセージの大きさの最大 10000000 バイトに制限されます。 (--limit 10000000) 取得できるメッセージのサイズは 100 に制限されます。(--fetchsizelimit 100) 3 回 (4 接続のうち) UID の二分木検索を行います。(--fastuidl 4) 受信したメッセージは SMTP によって次に示すサーバへ転送されます : localhost `single-drop' モード: 1 個の localname が存在します。 このホストからの UID は記録されていません。 - fetchmail のデーモンモードでの起動 [root@spirit fetchmail-6.3.4]# fetchmail -d 300 -t 120 fetchmail: 警告: root アカウントでの実行はお薦めできません。 - デーモンモードでは データ取得間隔=2分、 一回の接続制限時間(タイムアウト)=5分とした - この設定では、もし一回の接続で2分以上時間がかかっても5分までは正常に受信を続けることができる - 以前 cron で毎回の受信を起動設定していた時には、前の fetchmail が起動中に次の起動が重なりエラーになっていたがこの問題の対策にもなっている - 実行時のログ確認 (ssl 関係でエラーが出ているが動作は正常) [root@spirit ~]# tail -f -n 40 /home/munakata/log/fetchmaillog fetchmail: fetchmail 6.3.4 デーモンを動作開始します。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 2006年10月09日 00時19分21秒 に休眠状態となりました。 -- &color(red){sslの自己認証局が信頼できない.... と言っている}; -- &color(red){ここで問題を指摘された自己認証局が owa.hsdv.com か mail.hmuna.com かは判定出来ていない}; *** postfix のサイズ制限設定 [#o3ec1c3a] - main.cf にメッセージサイズ制限、メールボックスサイズ制限を書く # muna re-define size limit ( message 10M, mailbox per file=512M ) # 但し /Maildir を使っているので mailbox_size_limit の設定は意味がないが mailbox_size_limit = 512000000 message_size_limit = 10240000 - 設定の確認 [root@spirit postfix]# postconf | grep size berkeley_db_create_buffer_size = 16777216 berkeley_db_read_buffer_size = 131072 body_checks_size_limit = 51200 bounce_size_limit = 50000 ( 50k) header_size_limit = 102400 (100k) mailbox_size_limit = 512000000 (512M) message_size_limit = 10240000 ( 10M) - &color(red){⇒何れにしても 5M 程度の添付ファイルでバウンスはしないはずである!}; *** procmail レシピ [#d66ce8cf] - &ref(procmailrc_munakata_20061110); - &ref(procmailrc_public_20061110); *** postfix のサイズ制限と fetchmail のサイズ超過メールの削除を指定して daemon として fetchmail を起動した [#y10e86fa] - ログ ( fetchmail のサイズ制限が 1M の設定時 ) fetchmail: 4 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ (2449133 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 2 番目のメッセージ(全部で 4 通)を読み込んでいます (986 バイト (ヘッダ) ) fetchmail: (4914 バイト (本体) )fetchmail: サーバからメッセ ージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 3 番目のメッセージ (8900697 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しました。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 4 番目のメッセージ(全部で 4 通)を読み込んでいます (821 バイト (ヘッダ) ) fetchmail: (765 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月07日 16時22分56秒 に休眠状態となりました。 - ログ ( fetchmail のサイズ制限が 10M の設定時 ) fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでいます (699 バイト (ヘッダ) ) fetchmail: (6260571 バイト (本体) )fetchmail: 500 秒間待機し ましたが制限時間を超過しました。 fetchmail: socketエラーが munakata@owa.hsdv.com よりメールを受信している最中に発生しました。 fetchmail: Query status=2 (SOCKET) fetchmail: 2006年10月07日 16時49分50秒 に休眠状態となりました。 fetchmail: 2006年10月07日 16時51分50秒 に動作を再開しました。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 1 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでいます (699 バイト (ヘッダ) ) fetchmail: (6260571 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月07日 16時52分03秒 に休眠状態となりました。 - &color(red){何れにしても大きな添付ファイルを受信しても fetchmail のメール転送が停止してしまう傷害は発生しなくなった}; -- 大きな添付ファイルのついたメールの後に通常のメールを送信した場合、正常に通常のメールが転送されていることを確認した fetchmail: 2006年10月09日 11時56分49秒 に動作を再開しました。 fetchmail: サーバ証明書検証エラー: unable to get local issuer certificate fetchmail: サーバ証明書検証エラー: certificate not trusted fetchmail: サーバ証明書検証エラー: unable to verify the first certificate fetchmail: 3 通のメッセージが アカウント munakata , サーバ owa.hsdv.com 宛に届いています. fetchmail: munakata@ns02.hsdv.com 宛に届いた 1 番目のメッセージ (8900075 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除し ませんでした。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 2 番目のメッセージ (8901431 バイト) を読み飛ばしています。 (容量超過) サーバからメッセージを削除しませんでした。 fetchmail: munakata@ns02.hsdv.com 宛に届いた 3 番目のメッセージ(全部で 3 通)を読み込んでいます (894 バイト (ヘッダ) ) fetchmail: (772 バイト (本体) )fetchmail: サーバからメッセージを削除しました。 fetchmail: 2006年10月09日 11時56分50秒 に休眠状態となりました。 - サイズ超過メールを受信して、メールを自動的に削除した場合は、オリジナルの宛先向けに警告メールが届いた ⇒ 誰からのメールかはわからないが.... 件名:Fetchmail サイズ超過メッセージ 差出人:FETCHMAIL-DAEMON@spirit.hmuna.com 本 文:以下に示す容量を超過したメッセージはメールサーバ owa.hsdv.com アカウント munakata で削除されました : 1 番目のメッセージ(6261786 bytes の長さがあります)は削除されました。 - サイズ超過メールを受信して、メール転送を保留した場合は、オリジナルの宛先向けにサイズ超過メールが残っているとの警告メールが届く 件名:Fetchmail サイズ超過メッセージ 差出人:FETCHMAIL-DAEMON@spirit.hmuna.com 本 文:以下に示す容量を超過したメッセージがメールサーバ owa.hsdv.com アカウント munakata に残っています : 1 番目のメッセージ(8900075 バイト の長さがあります)は読み飛ばされました。 *** fetchmail の自動起動の設定 [#n3af8e64] - 起動スクリプト( /etc/init.d/fetchmail )・・・ /home 下の各ユーザーの .fetchmail を自動起動する [root@spirit ~]# cat /etc/init.d/fetchmail # chkconfig: 345 99 20 # # description: Fetchmail auto start script # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) for user in `ls /home/` do if [ -f /home/$user/.fetchmailrc ]; then echo "fetchmail for $user starting..." su $user -c "/usr/local/bin/fetchmail --daemon 120 --timeout 600" fi done ;; stop) # Stop daemons. for user in `ls /home/` do if [ -f /home/$user/.fetchmailrc ]; then echo "fetchmail for $user stoping..." su $user -c "/usr/local/bin/fetchmail --quit" fi done ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0 - 自動起動の設定 [root@spirit ~]# chkconfig --add fetchmail [root@spirit ~]# chkconfig --list | grep fetch fetchmail 0:off 1:off 2:off 3:on 4:on 5:on 6:off *** [[/etc/postfix/postconf (コマンド実行結果)>Cent_Postconf]] [#pae8b6e0] - &ref(postconf_20060905.txt); *** postfix 2.3.6 の導入 (2006-1-5) [#s940412a] - [[transport が見つからない問題>Postfix_Trobleshoot_1]] の対策の一環として &color(RED){2.0 系(=Cent OS 標準)⇒ 2.3.6にバージョンアップした}; - Postfix 2.2 系から TLS が標準サポートされるようになったことが 2.2系採用の最大の同期 - 2.0 環境は /etc/postfix_orig として残してある。 ⇒ &ref(postfix_orig.tgz); - 2.3 環境はまだバイナリーパッケージがないので &ref(postfix-2.3.6.tar.gz,center,ソース); から導入した - ソースからビルドする際に TLS、SASL、LDAP などはオプションで指定しないと組み込まれない (ので TLS と SASL を指定した) - 2.3 からは SASL 認証に従来使われていた Cyrus SASL 以外に Dovcot SASL を利用できる &color(red){⇒ 今回は Dovcot SASL を利用することにする}; - ソースのビルド方法 ⇒ 最初に TLS、SASL を組み込むために(configure ではなく)make で Makefile を生成する点がポイント [root@spirit postfix-2.3.6]# make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" "-DUSE_TLS"' AUXLIBS="-lssl -lcrypto" [root@spirit postfix-2.3.6]# make [root@spirit postfix-2.3.6]# make install <------ インストール場所は全てデフォルトとした -- make Makefile を繰り返した場合でも環境設定ファイル (=/etc/main.cf、/etc/master.cf など)は上書きされない -- 2.0 環境では gnome の MTA セレクタが使えるように sendmail = sendmail.postfix としてある部分を変更した(しないとエラーになる) - main.cf、master.cf を Postfix 2.3.6 キュメントに従って編集する (一部 2.0系から変更されている) -- &ref(main.cf_asof_20070105); -- &ref(master.cf_asof_20070105); *** [[Dovecot 1.0RC15 の導入 (2006-1-5) :http://www.dovecot.org/]] [#kfe765df] - Postfix 2.3.6 の SMTP Auth 認証に Dovcot SASL を指定したが、Cent 標準の Dovcot(=0.99) では Dovecot SASL が無かった - /etc/dovecot.conf を &ref(dovecot.conf_099,center,バックアップ); してから yum remove で一旦標準 Dovecot 環境を削除した - ソースから Dovecot をビルドした (特にオプション指定などはなく configure → make → make install で完了) - ソースからインストールした場合には環境設定 (=dovecot.conf) は /usr/local/etc の下にできる - 環境設定の内容は 0.99 から変更されている部分があるので、雛形(=/usr/local/etc/dovecot-example) から修正して作成 - この際 Postfix ドキュメントに指定された方法で Dovecot SASL の設定を反映した -- &ref(dovecot.conf_asof_20070105); - マニュアルにはimap/imaps/pop3/pop3s を別々にスクリプト起動する方法が推奨されているが、CentOS 標準の起動スクリプト(=/etc/init.d/dovecot) を参考にまとめてマスタープログラムが起動するようにした -- &ref(dovecot_startscript_asof_20070105); -- 起動直後のプロセス起動状態 (imap はログインあり、pop3 は待機状態 ) [root@spirit postfix-2.3.6]# ps aux | grep "pop3\|imap\|dovecot" root 5533 0.0 0.0 1868 580 ? Ss 14:39 0:00 /usr/local/sbin/dovecot <--- マスタープロセス root 5535 0.0 0.0 2956 976 ? S 14:39 0:00 dovecot-auth <---- 認証用プロセス dovecot 6032 0.0 0.0 4184 1660 ? S 16:32 0:00 imap-login dovecot 6040 0.0 0.0 4428 1440 ? S 16:32 0:00 imap-login dovecot 6055 0.0 0.0 5172 1664 ? S 16:36 0:00 imap-login 503 6092 0.0 0.0 7520 1836 ? S 16:42 0:00 imap dovecot 6093 0.0 0.0 4616 1664 ? S 16:42 0:00 imap-login 503 6108 0.0 0.0 6764 1836 ? S 16:50 0:00 imap dovecot 6109 0.0 0.0 4208 1660 ? S 16:50 0:00 imap-login munakata 10569 0.0 0.0 7204 1848 ? S 17:13 0:00 imap dovecot 10570 0.0 0.0 4972 1440 ? S 17:13 0:00 imap-login dovecot 10584 0.0 0.0 5508 1440 ? S 17:14 0:00 imap-login munakata 10586 0.0 0.0 7356 1868 ? S 17:14 0:00 imap <---- ログイン中プロセス dovecot 10703 0.0 0.0 4024 1436 ? S 17:31 0:00 pop3-login <--- ログイン待ちプロセス dovecot 10751 0.0 0.0 4532 1432 ? S 17:46 0:00 pop3-login dovecot 10753 0.0 0.0 4876 1432 ? S 17:46 0:00 pop3-login -- ソースからビルドして起動したときに dovecot というユーザーがないといってエラーになったので、ユーザを追加した - &color(red){最終的にサーバーとして imaps[munakata, public_mail, stored_mail]と pop[headline, dtv_rec] を動かしている}; *** headerchecks の設定 [#aeb1578a] - 上記設定で postfix + SMTP Auth + TLS の環境が立ち上がったので、懸案であった [[ヘッダー内のローカルネットワーク情報の削除>Cent_Postfilter]] の設定を付加 *** クライアントの設定 [#x683eccb] - SMTP Auth でユーザー認証が通ればメールリレーを許可する設定なので、送信メールにはログインが必要 - 更に SMTP 認証時には プレーンテキストでの認証を拒否する設定にしているので SSL or TLS で接続させる必要がある - 現状 IMAP メール受信には SSL を利用、POP には TLS を利用している -- IMAP サーバーに TLS で接続できないのは Dovecot がサポートしていないから ??? ・・・・ そんなはずはないが *** 参考 URL [#z75c11c6] - [[fetchmail project home:http://fetchmail.berlios.de/fetchmail]] - [[fetchmail project man ページ:http://fetchmail.berlios.de/fetchmail-man.html]] - [[amavisd-new settings for postfix (重要):http://www.ijs.si/software/amavisd/README.postfix.txt]]
テキスト整形のルールを表示する
添付ファイル:
postfix_orig.tgz
19件
[
詳細
]
postconf_20060905.txt
33件
[
詳細
]
procmailrc_munakata_20061110
21件
[
詳細
]
master.cf
26件
[
詳細
]
dovecot.conf_099
21件
[
詳細
]
dovecot_startscript_asof_20070105
21件
[
詳細
]
.fetchmailrc
21件
[
詳細
]
postfix-2.3.6.tar.gz
18件
[
詳細
]
procmailrc_public_20061110
20件
[
詳細
]
fetchmail-6[1].3.4.tar.bz2
15件
[
詳細
]
main.cf_asof_20070105
22件
[
詳細
]
dovecot.conf_asof_20070105
22件
[
詳細
]
main.cf
26件
[
詳細
]
master.cf_asof_20070105
20件
[
詳細
]