[[PageOutline]] * https://help.ubuntu.com/community/PostfixBasicSetupHowto * virtual domainを使わないシンプルなメールサーバ * https://help.ubuntu.com/community/PostfixVirtualMailBoxClamSmtpHowto * virtual domainを用いて基本的なメールサーバを構築する際の手順 * [http://www.postfix-jp.info/ML/arc.3/msg00155.html (postfix-jp:02156) 全メールのバックアップ] * [http://www.postfix-jp.info/ML/arc.2/msg00387.html (postfix-jp:01388) 再送のタイミングはどうやって決めるのでしょうか?] * http://www.asi.co.jp/techinfo/unix/postfix.html * [http://www.postfix-jp.info/ML/arc-2.1/msg00424.html (postfix-jp: 425) Virtual環境での .forward が有効になりません] > virtual(8) > > This delivery agent only delivers mail. Other features such as mail > > forwarding, out-of-office notifications, etc., must be configured via > > virtual_alias maps or via similar lookup mechanisms. > > ということなので、自分はvirtual_alias_mapsでPostgreSQLに問い合わせるよう > にしています。また、virtualはコマンドやファイルへの配送もサポートしませ > ん。 * [http://tmtm.org/postfix/tutorial/virtual.html Postfix チュートリアル - バーチャルドメイン] * [http://satospo.sakura.ne.jp/blog_archives/tech/linux_server/postfix_tips2.html Postfixでのメールサーバ運用Tips - satospo] > * ログの冗長モード > * qshape > * PostfixのQueueLifeTime > * メールのサイズ制限 > * anvilのログ > * Postfixの統計情報 > * anvilの出力調整 > * 配送遅延 > * 逆引きできない送信元を拒否する > * キューの削除 > * 全てのキューの削除 * http://www.postfix-jp.info/docs.html * http://www.postfix-jp.info/jhtml/ * 目的別の設定項目を知りたい際はこちらが良さそう * ex) [http://www.postfix-jp.info/jhtml/rate.html Postfix 速度制御] * [http://www.postfix-jp.info/ML/arc.1/msg00258.html (postfix-jp:259) Re: IPv6 on Postfix] > > mynetworks = IPv4 アドレスブロック, [::1]/128, [IPv6 NLA2ブロック::]/48 * localhostのみから受け付けるときは以下の通り {{{ mynetworks = 127.0.0.0/8, [::1]/128 }}} = backup server = * MXを複数記述しておき、メインのSMTPdが死んでいるときにメールを貯めておく * [http://www.akadia.com/services/postfix_mx_backup.html Configuring Postfix as backup MX host] * ex) * mail2.mitty.jp:/etc/postfix/main.cf (backup server) {{{ (snip) relay_domains = /etc/postfix/relay_domains relay_transport = smtp:mail1.mitty.jp }}} * /etc/postfix/relay_domains {{{ mitty.jp test.mitty.jp (snip) }}} * 「relayhost」を使うと、外向きの転送が全て「relayhost」を通るように指定されるため、open relayとして拒否される {{{ Apr 30 06:32:00 www27070u postfix/pickup[8562]: 83C8C40DC5D2: uid=1000 from= Apr 30 06:32:00 www27070u postfix/cleanup[8703]: 83C8C40DC5D2: message-id=<20110429213200.83C8C40DC5D2(*)www27070u.sakura.ne.jp> Apr 30 06:32:00 www27070u postfix/qmgr[8563]: 83C8C40DC5D2: from=, size=465, nrcpt=1 (queue active) Apr 30 06:32:00 www27070u postfix/smtp[8706]: 83C8C40DC5D2: to=, relay=www5085u.mitty.jp[59.106.180.123]:25, delay=0.14, delays=0.02/0.01/0.05/0.06, dsn=5.7.1, status=bounced (host www5085u.mitty.jp[59.106.180.123] said: 554 5.7.1 : Relay access denied (in reply to RCPT TO command)) }}} * local MTAでの外への送信も出来なくなるので注意 = merge domains conf and maps db = * main.cfで指定出来る「[http://www.postfix.org/postconf.5.html#virtual_mailbox_domains virtual_mailbox_domains]」と「[http://www.postfix.org/postconf.5.html#virtual_alias_domains virtual_alias_domains]」は、それぞれデフォルトで「$virtual_mailbox_maps」「$virtual_alias_maps」が指定されているため、受け取るドメインの一覧と、受け取るアドレスの一覧をそれぞれ一つのファイルにまとめることが可能 * 「[http://www.postfix.org/postconf.5.html#virtual_alias_maps virtual_alias_maps]」については、''The table format and lookups are documented in [http://www.postfix.org/virtual.5.html virtual(5)].''と書かれているが、「[http://www.postfix.org/postconf.5.html#virtual_mailbox_maps virtual_mailbox_maps]」についてはそのような記述はない。が、実際に試した限りでは同じように記述出来る模様。 * どちらの説明にも、''The default value is backwards compatible with Postfix version 1.1.''とあるので、推奨されない設定の可能性がある。 * main.cf {{{ (snip) # virtual_mailbox_domains = $virtual_mailbox_maps (default) virtual_mailbox_base = /PATH/TO/virtual_mailbox_base virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps (snip) # virtual_alias_domains = $virtual_alias_maps (default) virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps }}} * /etc/postfix/virtual_mailbox_maps {{{ mitty.jp accept SOMEHOST.mitty.jp accept USER1@SOMEHOST.mitty.jp mitty.jp/USER1/ USER2@SOMEHOST.mitty.jp mitty.jp/USER2/ (snip) }}} * 「accept」に意味は無い(see [#virtual.5]) * /etc/postfix/virtual_alias_maps {{{ ALIASE.mitty.jp accept webmaster@ALIASE.mitty.jp USER1@SOMEHOST.mitty.jp admin@ALIASE.mitty.jp mitty@SOMEHOST.mitty.jp }}} * 上記設定で、virtual配送、alias配送ともに正常に行われる * 「accept」の部分を書き忘れるとpostmapから「expected format: key whitespace value」と警告される(実際「Relay access denied」になる) * ドメインの行そのものを省略することは出来ない(「Relay access denied」) (see [#virtual.5]) = [http://www.postfix.org/virtual.5.html virtual.5] > Support for a virtual alias domain looks like: > > /etc/postfix/main.cf: > {{{ > virtual_alias_maps = hash:/etc/postfix/virtual > }}} > > Note: some systems use dbm databases instead of hash. See > the output from "postconf -m" for available database > types. > > /etc/postfix/virtual: > {{{ > virtual-alias.domain anything (right-hand content does not matter) > postmaster@virtual-alias.domain postmaster > user1@virtual-alias.domain address1 > user2@virtual-alias.domain address2, address3 > }}} > > The virtual-alias.domain anything entry is required for a > virtual alias domain. Without this entry, mail is rejected > with "relay access denied", or bounces with "mail loops > back to myself". * 特定のドメインに来たメールを、ユーザに関わらず全て別のドメインの同じユーザ名のアドレスに配送する場合 * virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps {{{ @ALIASE.example.jp @ALIASE.mitty.jp }}} * ex: !any_name_user@ALIASE.example.jp -> !any_name_user@ALIASE.mitty.jp = postfix/anvil = * /var/log/mail.logにおけるpostfix/anvilのstatistics間隔を延ばすには、流入するメッセージの流量が少ないSMTPサーバでは/etc/postfix/main.cfでanvil_rate_time_unitを大きくするだけでは不十分 * 一定時間(デフォルト100秒)接続がないと、anvilプロセスは終了し、その際にstatisticsを出力するため * max_idleを延ばす必要がある * 起動してから終了するまでの時間では'''ない'''ことに注意 * [http://www.postfix-jp.info/trans-2.3/jhtml/anvil.8.html Postfix manual - anvil(8)] > 診断 > 問題や処理は syslogd(8) に記録されます。 > > 終了時および anvil_status_update_time 秒ごとに、サーバは 測 > 定された最大のカウントと速度を (service, client) 情報やそのイベントに対 > 応する時刻とともにログに記録します。不必要なオーバーヘッドを避 け る た > め、同時制限や速度制限されていない活動の測定はおこなわれません。 * [http://forums.gentoo.org/viewtopic-t-457503-start-0.html Gentoo Forums :: View topic - postifix, anvil and unwanted statistics [SOLVED]] * [http://tech.groups.yahoo.com/group/postfix-users/message/243004 postfix-users : Message: Re: anvil logging] > > Am I limited to setting anvil_status_update_time to something high? (~1 > > week) > > That would suck up an insane amount of memory when you get > hit by a backscatter wave. * [http://www.davekb.com/browse_computer_tips:postfix_less_anvil_logging:txt Dave's Brain - Browse - computer tips - postfix less anvil logging] > In main.cf set this: > anvil_status_update_time = 1d > > That's once per day. > And in master.cf add: > anvil unix - - n - 1 anvil > -o max_idle=1d > This is needed because Anvil will log each time its restarted (which is determined by max_idle).