PPoossttffiixx ɥ쥹

-------------------------------------------------------------------------------

PPoossttffiixx ɥ쥹ŪŪ

ɥ쥹񤭴 Postfix ᡼륷ƥγ˿ǤPostfix ¿͡
Ūǥɥ쥹񤭴ޤñɽŪʤΤ⤢ޤ
᡼ΤɬפʤΤ⤢ޤPostfix Υɥ쥹
񤭴:

  * Դʥɥ쥹ʥɥ쥹˽񤭴ޤ㤨С"username" 
    "username@example.com" ˽񤭴ꡢ"username@hostname" 
    "username@hostname.example.com" ˽񤭴ޤ

  * ɥ쥹ƱΥɥ쥹֤ޤ㤨С᡼
    "username@example.com"  "firstname.lastname@example.com" ˽񤭴
    ˤϵդ˽񤭴ޤ

  * ɥ쥹ɥ쥹֤ޤ㤨СȤΥԥ塼
    󥿡ͥåȤ˥᡼ݤ "username@localdomain.local" 
    "isp-account@isp.example" ֤ޤ

  * ĤΥɥ쥹ʣΥɥ쥹֤ޤ㤨Сꥢ
    ɥ쥹򥨥ꥢʲ˥ꥹȥåפ줿ɥ쥹֤ޤ

  * Υɥ쥹Υ᡼ˡꤷޤ㤨С
    "username@example.com" Υ᡼ smtp(8) Ȥǡ
    ɥᥤ "example.com" Υ᡼륵ФȤ DNS ˥ꥹȥåפ줿
    ۥȤޤ

Postfix ϸߥɥ쥹񤭴äƤޤ󤬡ơ֥븡Ȥä
äۤɶϤʥɥ쥹򤪤ʤȤǤޤPostfix ϰ̤ˡĤ
ɥ쥹Ĥ⤷ʣΥɥ쥹˥ޥåԥ󥰤ˤϸꤵ줿ʸ
ĸơ֥ʣΥɥ쥹Ĥ⤷ʣΥɥ쥹˥ޥåԥ
ˤɽȤޤꤵ줿ʸθơ֥ϥե
NISLDAPSQL ǡ١⤷ޤDATABASE_README ɥȤ
Postfix ơ֥礬ޤ

ΥɥȤСƤ:

  * åإå񤭴뤫ݤ⤷ʤΤȤƥ٥
    
  * Postfix ɥ쥹񤭴γ
  * ᡼Υɥ쥹񤭴

      o ɸŪʷؤΥɥ쥹񤭴
      o Υ˥륢ɥ쥹ޥåԥ
      o ɥ쥹ޥ졼
      o ư BCC 
      o С륨ꥢ

  * ᡼Υɥ쥹񤭴

      o ؤΥɥ쥹
      o ᡼ transport ڤؤ
      o ֥桼ơ֥

  * ⡼ǤΥɥ쥹񤭴

      o ԤSMTP᡼ɸޥåԥ

  * ǤΥɥ쥹񤭴

      o 륨ꥢǡ١
      o Υ桼Ȥ .forward ե
      o Ƥ륢ɥ쥹

  * ɥ쥹ΥǥХå

åإå뤫ݤ⤷ʤΤȤƥ٥

PostfixС2.1ǤϾ˥åإåɥ쥹񤭴Postfix
Դȸʤɥ쥹ˤPostfixȤΥɥᥤäƤޤ
줿᡼Ǥϥåإå񤭴Ƥꤢޤ󤬡
⡼ȥ᡼ν񤭴˾ޤޤ:

  * åإåν񤭴ϡ᡼ɸȤƤϤޤ褯ޤ
  * PostfixȤΥɥᥤղäȡԴʥɥ쥹Ǥϴְä̤
    ʤäƤޤȤޤ
  * PostfixȤΥɥᥤղäȡspam桼ˤä줿
    褦˸ƤޤȤޤ

PostfixС2.2Ǥϥ⡼SMTP饤ȤΥåإå
񤭴ʤåإåԴʥɥ쥹ʤΤȤ
٥󥰤Ȥ褬ͿޤϼΤ褦ưޤ:

  * PostfixϥSMTP饤ȤPostfix sendmailޥɤ
    åإå˽񤭴Դʥɥ쥹˼ȤΥɥᥤ
    ղäޤPostfix ǤȤߤʤSMTP饤Ȥ
    local_header_rewrite_clients ѥ᡼椷ޤ (ǥեȤǤ
    ͥåȥ󥿡եɥ쥹ΤߤǤ)
  * remote_header_rewrite_domain ѥ᡼ͤξ (ǥեȤ
    )Postfixϥ⡼SMTP饤ȤΥåإå
    ڽ񤭴ޤ
  * ⤷ϡPostfixϥ⡼SMTP饤ȤΥåإå
    񤭴Դʥɥ쥹 remote_header_rewrite_domain ͤ
    ղäޤεǽ "domain.invalid" Τ褦ͽ󤵤줿ɥᥤ
    դ뤳ȤǡԴʥɥ쥹륢ɥ쥹ȴְ㤨ʤ褦
    Τ˻Ȥޤ

PPoossttffiixx ɥ쥹γ

ʲοޤ Postfix ǥɥ쥹񤭴ư˺ǤطΤʬ礷
ΤǤ Postfix ƥγפ OVERVIEW ɥȤ
ȤƤ³̾ Postfix ǡץǡΤʤ
̾ Postfix 塼ޤϥ᡼åɽޤ

                  trivial-                              trivial-
                 rewrite(8)                            rewrite(8)
                 (ɸ)                              ()

                      ^ |                                   ^ |
                      | v                                   | v

    smtpd(8)                                                         smtp(8)

    qmqpd(8)  >- cleanup(8) -> incoming ->  active  ->   qmgr(8)  -< lmtp(8)

    pickup(8)                                                        local(8)

                       ^                      ^ |
                       |                      | v

                  bounces
                 forwarding                deferred
                  notices

ʲɽƤ Postfix ɥ쥹ޤȤ᤿ΤǤΥɥȤ
ɤΤǤС"᡼Υɥ쥹񤭴" Ǥ
ΥɥȤλĤɤ߽ȡɬפʤΤ򤹤˸ĤΤ
ɽΩĤǤ礦

     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    |ɥ쥹    | |ǡ|Хͭͭ  |ŪŪ̵̵ˤ           |
    |        | |        |ȥ        |ȥ                 |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |ɸŪʷ|     |trivial-|append_at_myorigin, |                             |
    |ؤΥɥ쥹| |rewrite |append_dot_mydomain,|local_header_rewrite_clients,|
    |񤭴    | |(8)     |swap_bangpath,      |remote_header_rewrite_domain |
    |            |     |        |allow_percent_hack  |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |Υ˥  | |cleanup |                    |receive_override_options,    |
    |ɥ쥹    | |(8)     |canonical_maps      |local_header_rewrite_clients,|
    |ޥåԥ  |     |        |                    |remote_header_rewrite_domain |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |ɥ쥹    | |cleanup |masquerade_domains  |receive_override_options,    |
    |ޥ졼| |(8)     |                    |local_header_rewrite_clients,|
    |            |     |        |                    |remote_header_rewrite_domain |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |ưBCC     | |cleanup |always_bcc,         |                             |
    |      |᡼ |(8)     |sender_bcc_maps,    |receive_override_options     |
    |            |   |        |recipient_bcc_maps  |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |С  | |cleanup |virtual_alias_maps  |receive_override_options     |
    |ꥢ  | |(8)     |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |ؤ  | |trivial-|                    |                             |
    |ɥ쥹| |rewrite |ʤ                |ʤ                         |
    |            |     |(8)     |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |᡼      | |trivial-|                    |                             |
    |transport | |rewrite |transport_maps      |ʤ                         |
    |ڤؤ    |     |(8)     |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |֥桼| |trivial-|                    |                             |
    |ơ֥    | |rewrite |relocated_maps      |ʤ                         |
    |            |     |(8)     |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |ɸ        | |        |                    |                             |
    |ޥåԥ  |SMTP |smtp(8) |smtp_generic_maps   |ʤ                         |
    |ơ֥    |-|        |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |    | |        |                    |                             |
    |ꥢ  | |local(8)|alias_maps          |ʤ                         |
    |ǡ١|-|        |                    |                             |
    |            |Τ |        |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |    | |        |                    |                             |
    |桼Ȥ| |local(8)|forward_path        |ʤ                         |
    |.forward    |-|        |                    |                             |
    |ե    |Τ |        |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
    |  | |        |                    |                             |
    |Ƥ  | |local(8)|luser_relay         |ʤ                         |
    |륢ɥ쥹|-|        |                    |                             |
    |            |Τ |        |                    |                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _|_ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

᡼Υɥ쥹

cleanup(8) Фž줿᡼Τ褦Υ᡼Ԥ
Х󥹤Ǥʤ᡼롢᡼륷ƥ postmaster 
Τ᡼ƱͤˡPostfix γΥ᡼ޤ

cleanup(8) ФԤԡåȤ incoming 塼˽񤭹
ɸŪʷѷޤФϥåإåӥ٥פ
ԤӼԥɥ쥹From:  Date Τ褦ʥ᡼εʤ
׵ᤵåإåäBcc: Τ褦˸٤ǤϤʤå
إåޤΥɥȤθǽҤ٤褦ˡcleanup(8)
Фʣʥɥ쥹 trivial-rewrite(8) Ф˰Ǥޤ

ΥơǤΥɥ쥹:

  * ɸŪʷؤΥɥ쥹ν񤭴
  * Υ˥륢ɥ쥹ޥåԥ
  * ɥ쥹ޥ졼
  * ư BCC 
  * С륨ꥢ

ɸɸŪŪʷؤΥɥ쥹ν

cleanup(8) ǡϥɥ쥹ޥåԥ󥰸ơ֥ˡ
ɥ쥹 trivial-rewite(8) ǡ뤳ȤˤäơɸŪ
"user@fully.qualified.domain" ˽񤭴ޤɸؤν񤭴ˤä
ơ֥ɬפʥȥο򸺤餷ޤ

Postfix trivial-rewrite(8) ǡϥϡɥɤ줿Υɥ쥹
Ƥޤ:

    "@hosta,@hostb:user@site"  "user@site" ؤν񤭴
        줬狼ʤ⤷ޤ󤬡Υɥ쥹ϥ롼
        ɥ쥹ȸƤФƤơ"user@site" Υ᡼뤬 "hosta"  "hostb" 
        ̤ä褦ꤷƤޤηλѤĹ侩ˤʤä
        ޤPostfix ϥ롼ʬʳ˥롼ȥɥ쥹򰷤
        ȤϤǤޤ

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

    "site!user"  "user@site" ؤν񤭴
        εǽϥ֡ͤ swap_bangpath ѥ᡼ (ǥե: yes) 
        椵ޤUUCP Υɥ쥹ɥᥤ˽񤭴뤳Ȥ
        ŪǤUUCP ̤ƥ᡼ˤΤͭѤǤ
        ʤǤäϤʤǤ礦

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

    "user%domain"  "user@domain" ؤν񤭴
        εǽϥ֡ͤ allow_percent_hack ѥ᡼ (ǥե: yes) 
        椵ޤŵŪˤϡ "user%domain@otherdomain" Τ褦
        ʪ򰷤˻Ȥޤ

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

    "user"  "user@$myorigin" ؤν񤭴
        εǽϥ֡ͤ append_at_myorigin ѥ᡼ (ǥե: yes) 
        椵ޤ¿ Postfix ݡͥȤƤΥɥ쥹
        "user@domain" Ǥ뤳ȤԤƤΤǡεǽ̵
        ٤ǤϤޤ

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

        ʤΥޥ $myorigin ΥᥤޥǤϤʤ桼ΰ
        ᥤޥ̤˥ΤǤС"user@$myorigin"
         "user@$myhostname" ˸ľ褦ʥС륨ꥢơ֥
        ȥäƤSTANDARD_CONFIGURATION_README ɥȤ
        "桼Υؤ" ⻲ȤƤ

    "user@host"  "user@host.$mydomain" ؤν񤭴
        εǽϥ֡ͤ append_dot_mydomain ѥ᡼ (ǥե: yes) 
        椵ޤƱۥ̾ΰۤʤӤưȤŪǤ

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

        "host"  "host.$mydomain" ˽񤭴Τ꤬Ȥ
        ޤΤᡢ̵ˤ뤳ȤǤޤPostfixȤ
        ɥᥤ󤬼ưŪդʿͤ⤤Ǥ礦

    "user@site."  "user@site" (ǸΥɥåȤ) ؤν񤭴
        ǸˤĤ1ĤΥɥåȤŤ˺ޤʣΥɥåȤ
        륢ɥ쥹̵ʥɥ쥹ȤƵݤޤ

        : PostfixС2.2ʹߤǤϡ饤Ȥ
        local_header_rewrite_clients ѥ᡼˥ޥå뤫
        remote_header_rewrite_domain ѥ᡼˶Ǥʤͤꤵ
        ˸¤ꡢ⡼ȤSMTP饤ȤΥåإå
        񤭴ޤPostfix 2.2ưΤǤС
        "local_header_rewrite_clients = static:all" ꤷޤ

Υ˥륢ɥ쥹ޥåԥ

cleanup(8) ǡϥå٥פåإå˸
ɥ쥹񤭴뤿 canonical(5) ơ֥ȤޤǥեȤǤϡ
٤ƤΥإåȥ٥פΥɥ쥹񤭴ޤ; 
canonical_classes ѥ᡼Ǥޤ

: PostfixС2.2ʹߤǤϡ饤Ȥ local_header_rewrite_clients
ѥ᡼˥ޥå뤫remote_header_rewrite_domain ѥ᡼
ǤʤͤꤵƤ˸¤ꡢ⡼ȤSMTP饤Ȥ
åإå񤭴ޤPostfix 2.2ưΤǤС
"local_header_rewrite_clients = static:all" ꤷޤ

ɥ쥹񤭴ϥ뤪ӥ⡼ȥɥ쥹ФƤʤޤ
Υޥåԥ󥰤ϥ̾ "Firstname.Lastname" Υɥ쥹
֤ꡢŤ᡼륷ƥब᡼륢ɥ쥹̵ʥɥᥤ
ΤǤ

Υ˥ޥåԥ󥰤ϥǥեȤ̵ˤʤäƤޤͭˤˤϡ
main.cf ե canonical_maps ѥ᡼Խưİʾθơ֥
ޤϥޤǶڤäƻꤷޤ

:

    /etc/postfix/main.cf:
        canonical_maps = hash:/etc/postfix/canonical

    /etc/postfix/canonical:
        wietse        Wietse.Venema

Ǽ褦ʥƥåޥåԥ󥰤Ǥϡhash:  ldap:mysql:pgsql:
Τ褦ʸơ֥뤬ŬƤޤʥߥåʥޥåԥ󥰤Ǥϡɽ
ơ֥뤬Ȥޤˤ regexp_table(5)  pcre_table(5)canonical(5)
ˤ褦ʳǰˤʤܤʤɬפޤ

ԤӼԥɥ쥹ŬѤ륫Υ˥ޥåפ˲äơ
ɥ쥹ޤϼԥɥ쥹ŬѤ륫Υ˥ޥåפꤹ뤳Ȥ
Ǥޤ

:

    /etc/postfix/main.cf:
        sender_canonical_maps = hash:/etc/postfix/sender_canonical
        recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

ԤӼԥΥ˥ޥåפ϶̤ΥΥ˥ޥåפŬѤޤ
sender_canonical_classes  recipient_canonical_classes ѥ᡼
줾 sender_canonical_maps  recipient_canonical_maps 
ɥ쥹椷ޤ

Ԥ˸ꤷ񤭴ϡԥɥ쥹򤭤줤ʤΤ˽񤭴
᡼롼פ򵯤ˤνɥ쥹ˤ᡼ޤޤ
Ǥ

master.cf  main.cf 񤭤뤳ȤǡΥ˥ޥåפ
smtpd(8)  qmqpd(8)pickup(8) Ǽ᡼Ū̵ˤ뤳Ȥ
Ǥޤεǽ Postfix С 2.1 ʹߤǻȤޤ

:

    /etc/postfix/master.cf:
        :10026      inet  n       -       n       -       -       smtpd
            -o receive_override_options=no_address_mapping

: "=" ˶֤ƤϤޤ

ɥ쥹ޥ졼

ɥ쥹ޥ졼ɤϥ᡼륲ȥθˤɥᥤΥۥȤ
ġΥޥǤϤʤ᡼뤬ȥȤ褿褦
뤿μˡǤ

: PostfixС2.2ʹߤǤϡ饤Ȥ local_header_rewrite_clients
ѥ᡼˥ޥå뤫remote_header_rewrite_domain ѥ᡼
ǤʤͤꤵƤ˸¤ꡢ⡼ȤSMTP饤Ȥ
åإå񤭴ޤPostfix 2.2ưΤǤС
"local_header_rewrite_clients = static:all" ꤷޤ

ɥ쥹ޥ졼ɤϥǥեȤ̵ˤʤäƤꡢcleanup(8) Фˤä
Ƥޤͭˤˤϡmain.cf ե masquerade_domains 
ѥ᡼ԽơİʾΥɥᥤ̾ޤϥޤǶڤä
ꤷޤPostfix ɥᥤޥ졼ɤ褦ȤݡꥹȤ
鱦ؤȽǽ˥ޥåȤǽߤޤ

:

    /etc/postfix/main.cf:
        masquerade_domains = foo.example.com example.com

 "any.thing.foo.example.com"  "foo.example.com" ؤȺޤ
"any.thing.else.example.com"  "example.com" ؤȤϺޤ

ɥᥤ̾ "!" դȡΥɥᥤޤϤΥ֥ɥᥤ
ޥ졼ɤʤȤ̣ޤ:

    /etc/postfix/main.cf:
        masquerade_domains = !foo.example.com example.com

 "any.thing.foo.example.com"  "foo.example.com" Ѥޤ󤬡
"any.thing.else.example.com"  "example.com" ؤȺޤ

masquerade_exceptions ѥ᡼ˤϥɥ쥹ޥ졼ɤʤ
桼̾ꤷޤİʾΥ桼̾ޤϥޤǶڤäƻꤷ


:

    /etc/postfix/main.cf:
        masquerade_exceptions = root

ǥեȤǤϡPostfix 㳰ޤ

̯: ǥեȤǤϡɥ쥹ޥ졼ɤϥåإå
٥ԥɥ쥹ΤߤŬѤޤ٥׼Ԥˤ
ŬѤޤ󡣤ˤꥢɥ쥹ޥ졼ɤ᡼륲ȥޥ
Ȥ褦ˤƤޤġΥޥΥ桼ؤϥ᡼ž
ǤޤޤˤʤäƤޤ

٥׼ԥɥ쥹ޥ졼ɤˤϡΤ褦
ꤷޤ (Postfix С 1.1 ʹ):

    /etc/postfix/main.cf:
        masquerade_classes = envelope_sender, envelope_recipient,
            header_sender, header_recipient

Τ褦˥٥׼Ԥ񤭴ȡPostfix ϸġΥޥ˥᡼
뤳ȤǤʤʤޤ

master.cf  main.cf 񤭤뤳Ȥǡɥ쥹ޥ졼ɤ
smtpd(8)  qmqpd(8)pickup(8) Ǽ᡼Ū̵ˤ뤳Ȥ
Ǥޤεǽ Postfix С 2.1 ʹߤǻȤޤ

:

    /etc/postfix/master.cf:
        :10026      inet  n       -       n       -       -       smtpd
            -o receive_override_options=no_address_mapping

: "=" ˶֤ƤϤޤ

ưư BBCCCC 

Υ˥뤪ӥޥ졼ɥޥåԥ󥰤ŬѸ塢cleanup(8) ǡ
ץ BCC (blind carbon-copy) Ԥ뤳ȤǤޤ
Postfix 3ĤΥᥫ˥󶡤ޤ:

    always_bcc = address
        ƤΥ᡼Υԡꤵ줿ɥ쥹ޤPostfix С
        2.1 Ǥϡεǽ smtpd(8)  qmqpd(8)pickup(8) ˤä
        Ƥޤ
    sender_bcc_maps = type:table
        ٥ԥɥ쥹ġꤵ줿 "type:table" ơ֥
        ư BCC ɥ쥹õޤεǽ Postfix 2.1 ʹߤǻȤޤ
    recipient_bcc_maps = type:table
        ٥׼ԥɥ쥹ġꤵ줿 "type:table" ơ֥
        ư BCC ɥ쥹õޤεǽ Postfix 2.1 ʹߤǻȤޤ

: ư BCC ԤϿ᡼ФƤΤޤ᡼롼פ
ɤᡢư BCC Ԥ Postfix ž᡼ Postfix Ȥ
᡼ФƤϺޤ

master.cf  main.cf 񤭤뤳Ȥǡư BCC 
(always_bcc ޤ)  smtpd(8)  qmqpd(8)pickup(8) Ǽ᡼
Ū̵ˤ뤳ȤǤޤεǽ Postfix С 2.1 ʹߤ
Ȥޤ

:

    /etc/postfix/master.cf:
        :10026      inet  n       -       n       -       -       smtpd
            -o receive_override_options=no_address_mapping

: "=" ˶֤ƤϤޤ

С륨ꥢ

Ԥ򥭥塼ե˽ˡcleanup(8) ǡϼ԰Υ᡼
ľ˥ץ virtual(5) ꥢơ֥Ȥޤޥåԥ󥰤
٥׼ԤΤߤ˱ƶޤ; åإå䥨٥
ɥ쥹ˤϱƶޤ󡣥С륨ꥢϥС륨ꥢ
ɥᥤ󰸤Υ᡼ºߤ桼Υ᡼ܥå˸ľꡢ¸ߤʤ
ɥᥤ󰸤Υ᡼ľΤǤС륨ꥢ
" Firstname.Lastname "  UNIX ᤹̾ΤˤȤޤ
ꥢŬڤʼʤǤ礦Postfix ǥСɥᥤ
ۥƥ󥰤ˡγפˤĤƤϡVIRTUAL_README ɥȤ򻲾Ȥ


С륨ꥢϥǥեȤ̵ˤʤäƤޤͭˤˤϡ
main.cf ե virtual_alias_maps ѥ᡼Խưİʾθ
ơ֥ޤϥޤǶڤäƻꤷƤ

:

    /etc/postfix/main.cf:
        virtual_alias_maps = hash:/etc/postfix/virtual

    /etc/postfix/virtual:
        Wietse.Venema        wietse

С륨ꥢޥåפǸĤäɥ쥹Ϸ֤¾ΥС
ꥢŬѤޤ롼פ򤱤뤿ᡢΥ˥ޥåԥ󥰤ŬѤ
ޤ

Ǽ褦ʥƥåޥåԥ󥰤Ǥϡhash:  ldap:mysql:pgsql:
Τ褦ʸơ֥뤬ŬƤޤʥߥåʥޥåԥ󥰤Ǥϡɽ
ơ֥뤬Ȥޤˤ regexp_table(5)  pcre_table(5)virtual(5)
ˤ褦ʳǰˤʤܤʤɬפޤ

: ư BCC ԤϿ᡼ФƤΤޤ᡼롼פ
ɤᡢư BCC Ԥ Postfix ž᡼ Postfix Ȥ
᡼ФƤϺޤ

master.cf  main.cf 񤭤뤳ȤǡС륨ꥢ
smtpd(8)  qmqpd(8)pickup(8) Ǽ᡼Ū̵ˤ뤳Ȥ
Ǥޤεǽ Postfix С 2.1 ʹߤǻȤޤ

:

    /etc/postfix/master.cf:
        :10026      inet  n       -       n       -       -       smtpd
            -o receive_override_options=no_address_mapping

: "=" ˶֤ƤϤޤ

λǥå Postfix incoming 塼˳ǼǤޤ

᡼Υɥ쥹

Postfix 塼ޥ͡ǥ᡼򥽡Ȥ local(8)  smtp(8)
lmtp(8) Τ褦 Postfix ȤϤޤcleanup(8) Ф
ƱͤˡPostfix 塼ޥ͡ʣʥɥ쥹 trivial-rewite(8)
Ф˰Ǥޤ

ΥơǤΥɥ쥹:

  * ؤΥɥ쥹
  * ᡼ transport ڤؤ
  * ֥桼ơ֥

줾 Postfix Ȥϥ᡼򤽤褦Ȥ
 SMTP  LMTP ʤɤΥץȥΥ롼˽äԤԡå
Ȥ򥫥ץ벽ޤ᡼뤬ǤʤϡԤ֤뤫
deferred 塼˰ưƸǺƤӻԤޤ

smtp(8) Ȥǥ᡼뤬ݤΥɥ쥹:

  * ԤSMTP᡼ɸޥåԥ

local(8) Ȥǥ᡼뤬ݤΥɥ쥹:

  * 륨ꥢǡ١
  * Υ桼Ȥ .forward ե
  * Ƥ륢ɥ쥹

ΥɥȤλĤʬǤϡΤɥȤؤΥݥ󥿤
Ȥˡ줾Υɥ쥹Υƥåפܺ٤˼ޤ

ؤΥɥ쥹

Postfix qmgr(8) 塼ޥ͡ incoming 塼鿷᡼򡢤ޤ
deferred 塼Ť᡼ӡtrivial-rewrite(8) ɥ쥹񤭴
ǡ٤Ҥͤޤ

С 2.0 λǡPostfix 4Ĥμʥɥ쥹饹̤ޤ
줾Υ饹˥ɥᥤ̾ΥꥹȤꡢʲɽǼ褦
ǥեȤˡäƤޤܺ٤ ADDRESS_CLASS_README ɥȤ
ȤƤPostfix С 2.0 ǤϥȤʳƤ
̤ޤ

     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    |ɥᥤꥹ             |ǥեȤˡˡ   |Ѳǽǽ    |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ |
    |$mydestination, $inet_interfaces,|$local_transport       |Postfix 1.0 |
    |$proxy_interfaces                |                       |            |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ |
    |$virtual_mailbox_domains         |$virtual_transport     |Postfix 2.0 |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ |
    |$relay_domains                   |$relay_transport       |Postfix 2.0 |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ |
    |none                             |$default_transport     |Postfix 1.0 |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ |

᡼ ttrraannssppoorrtt ڤؤ

trivial-rewrite(8) ǡ󤬥ǥեˡꤹȡ³ƥץ
transport(5) ơ֥ǥåˡ񤭤õޤ
ŵŪˤϡ󥿡ͥåȤ³Ƥʤƥ˥᡼äꡢ
̤׵򤹤̤ SMTP 饤Ȥˡtransport(5)
ơ֥뤬Ȥޤ㤨СSTANDARD_CONFIGURATION_README  UUCP_README
ɥȡtransport(5) ޥ˥奢ڡ򻲾ȤƤ

transport ơ֥θϥǥեȤ̵Ǥͭˤˤϡmain.cf
ե transport_maps ѥ᡼Խİʾθơ֥
ޤϥޤǶڤäƻꤷƤ

:

    /etc/postfix/main.cf:
        transport_maps = hash:/etc/postfix/transport

֥桼ơ֥

ˡtrivial-rewite(8) ɥ쥹񤭴ӲǡϤ줾μԤ
Ф relocated(5) ǡ١򻲾ȤޤΥơ֥ϥȤ
ʤʤä桼ؤãˡ䡢¸ߤʤʤäɥᥤΤФ᡼
˴ؤ󶡤ޤΥơ֥˥ꥹȥåפƤ륢ɥ쥹
᡼뤬ȡΥ᡼ϾĥåȤȤԤ֤ޤ

ԤۤʤΤ֤ǽ transport(5) ơ֥
ۤơrelocated(5) ǡ١ transport(5) ơ֥븡θ
ޤ

֥桼θϥǥեȤ̵Ǥͭˤˤϡmain.cf
ե relocated_maps ѥ᡼Խİʾθơ֥
ޤϥޤǶڤäƻꤷƤ

:

    /etc/postfix/main.cf:
        relocated_maps = hash:/etc/postfix/relocated

    /etc/postfix/relocated:
        username@example.com      otheruser@elsewhere.tld

Postfix С 2 λǤϡ֥桼Ф᡼ "user has moved
to otheruser@elsewhere.tld" ȤơSMTP ФǵݤޤŤС
Postfix Ϥޤ᡼ꡢƱͳǤʤȤԤ
֤ޤ

ԤSSMMTTPP᡼ɸɸޥåԥ

ۥȤˤͭʥ󥿡ͥåȥɥᥤ̾ localdomain.local
Τ褦̾ȤäƤΤޤ̵ʥɥᥤ̾ĥ᡼륢ɥ쥹
¿Υ᡼륵Фݤ뤿ᡢ󥿡ͥåȱۤ˥᡼ꤿȤ
ˤʤ뤫⤷ޤ

smtp_generic_maps ѥ᡼Ȥȡ᡼뤬SMTPȤäƥޥФƹԤȤ
᡼륢ɥ쥹ͭʥ󥿡ͥåȥɥ쥹֤ generic(5)
ơ֥ꤹ뤳ȤǤޤgeneric(5) ޥåԥ󥰤ϥ٥
ӥإåɥ쥹񤭴ޤƵŪˤϤʤޤ
ޥΥɥ쥹֤ǥ᡼ˤϽ񤭴Ϥʤޤ

εǽPostfixС2.2ʹߤǻȤޤ

:

    /etc/postfix/main.cf:
        smtp_generic_maps = hash:/etc/postfix/generic

    /etc/postfix/generic:
        his@localdomain.local       hisaccount@hisisp.example
        her@localdomain.local       heraccount@herisp.example
        @localdomain.local          hisaccount+local@hisisp.example

SMTPǥ⡼ȥۥȤ˥᡼뤬Ȥˡ his@localdomain.local 
ISP ᡼륢ɥ쥹֤her@localdomain.local ISP᡼
ɥ쥹֤ޤ¾Υ륢ɥ쥹ISPȤ +local Ȥ
ĥɥ쥹դΤ֤ޤ (ǤISP "+" γĥ
ɥ쥹򥵥ݡȤƤꤷƤޤ)

륨ꥢǡ١

˥᡼뤬硢local(8) ȤϤ줾Υ
̾Ф aliases(5) ǡ١򻲾Ȥޤޥåԥ󥰤ϥå
إåΥɥ쥹ˤϱƶޤ󡣥 aliases ŵŪˤϡۥꥹȤ
ꡢpostmaster Τ褦ɸŪʥꥢФ᡼ºߤ
ͤ˸ꤹΤ˻Ȥޤ"Firstname.Lastname" ɥ쥹̾
ޥåԥ󥰤ΤˤȤޤ

ꥢϥǥեȤͭǤǥեȤϥڥ졼ƥ
ƥĶ˰¸ޤŵŪˤϼΤΤɤ줫Ǥ:

    /etc/postfix/main.cf:
        alias_maps = hash:/etc/aliases
        alias_maps = dbm:/etc/aliases, nis:mail.aliases

ꥢǡ١եΥѥ̾ alias_database ѥ᡼
椵ޤͤϥƥ¸ǤƤϼΤɤ줫Ǥ:

    /etc/postfix/main.cf:
        alias_database = hash:/etc/aliases (4.4BSD, LINUX)
        alias_database = dbm:/etc/aliases (4.3BSD, SYSV<4)
        alias_database = dbm:/etc/mail/aliases (SYSV4)

aliases(5) եϥ᡼Υեؤ䡢ɸϥȥ꡼
å륳ޥɤؤꤹ뤳ȤǤޤƥ
ͳǡޥɤӥեؤϥꥢǡ١νͭԸ¤
ޤ"root" ͭ륨ꥢǤΥޥɤեؤˤ
ǥեȤ useriddefault_privs Ȥޤ

Υ桼Ȥ ..ffoorrwwaarrdd ե

local(8) ȤȤäǤϡ桼Ϥ줾Υۡ
ǥ쥯ȥ .forward ȸƤФեǼʬΥ᡼椹
ȤǤޤΥեʸˡϥꥢκ¦ (ȥ) 
ʤʳϥ aliases(5) եƱǤ

Ƥ륢ɥ쥹

åԤ¸ߤʤȤ local(8) Ȥˤ狼ȡ
å̾Ԥ ("user unknown" ) ֤ޤ¸ߤʤ԰
᡼̤Υޥž˾ޤ⤢ޤΤ褦ŪǤϡ
luser_relay ѥ᡼ꤹ뤳ȤǤޤ

¾ˤ⡢¸ߤʤ԰Υ᡼ fallback_transport ѥ᡼
ꤵ롢˰ۤʤå transport ˰Ǥ뤳ȤǤޤ
ܺ٤ local(8) ȥɥȤ򻲾ȤƤ

:  UNIX ȰΥ᡼뤿 luser_relay ǽȤ硢
ʲ main.cf եǻꤷʤФޤ:

    /etc/postfix/main.cf:
        local_recipient_maps =

(ʤ)ʤȡPostfix SMTP Ф UNIX ȰΥ᡼
"User unknown in local recipient table" ǵݤƤޤޤ˴ؤ
ܺ٤ʾ LOCAL_RECIPIENT_README ե򻲾ȤƤ

luser_relay 1ĤΥɥ쥹ꤹ뤳ȤǤޤ "$name" Ÿ
ޤ
:

    $user@other.host
        ĥɥ쥹ΤʤΥ桼̾ "@other.host" դޤ
        㤨С"username+foo" Υ᡼ "username@other.host" 
        ޤ

    $local@other.host
        ĥɥ쥹ޤࡢμԥʬΤ "@other.host" 
        դޤ㤨С"username+foo" Υ᡼ 
        "username+foo@other.host" ޤ

    sysadmin+$user
        ĥɥ쥹ΤʤΥ桼̾ "sysadmin" դޤ
        㤨С "username+foo" Υ᡼ "sysadmin+username" 
        ޤ

    sysadmin+$local
        ĥɥ쥹ޤࡢμԥʬΤ "sysadmin" 
        դޤ㤨С"username+foo" Υ᡼
        "sysadmin+username+foo" ޤ

ɥ쥹ΥǥХå

Postfix С 2.1 ʹߤǤϡPostfix ˥ǥХåѥ᡼ݡȤ
뤳ȤǤޤΥݡȤϥɥ쥹񤭴䥨ꥢŸ
ž/ԥɥ쥹򼨤ǤϤʤ᡼ܥåؤ
 Postfix ޥɤؤ⡼ SMTP Фαʤɤ⼨ޤ

Postfix ϥǥХåѤ2Υ᡼ݡȤ뤳ȤǤޤ:

  * What-if: 뤫𤷤ޤºݤ˥᡼ޤ󡣤ư
    ⡼ɤϼΤ褦ˤ׵ᤷޤ:

    $ //uussrr//ssbbiinn//sseennddmmaaiill --bbvv aaddddrreessss......
    ᡼֥ݡȤ <your login name> ˥᡼ޤ

  * What happened: ᡼ơ⡼ SMTP Фαޤ
    伺Ԥ𤷤ޤư⡼ɤϼΤ褦ˤ׵ᤷޤ:

    $ //uussrr//ssbbiinn//sseennddmmaaiill --vv aaddddrreessss......
    ᡼֥ݡȤ <your login name> ˥᡼ޤ

ΥݡȤˤ Postfix Ȥ󤬴ޤޤޤ
ϥǡץȤư桼Ȥľܿʤᡢ
̤ϥƥȥåԤ˥᡼ȤޤΥݡȤ
񼰤̾ΤȻ¾Ʊ񼰤Ǥ

Ȥơʲ "sendmail -bv postfix-users@postfix.org" ޥɤ줿
ݡȤ򼨤ޤݡȤκǽʬˤϿʹ֤ɤʸϤޤޤޤ
ξ硢᡼ mail.cloud9.net ̤ꡢSMTP Ф "250 Ok" Ȥ
֤ƤޤʳˡݡȤϥ᡼ܥåؤ򼨤ꡢ
 Postfix ޥɤؤ򼨤⤷ޤ

    Content-Description: Notification
    Content-Type: text/plain

    This is the Postfix program at host spike.porcupine.org.

    Enclosed is the mail delivery report that you requested.

                            The Postfix program

    <postfix-users@postfix.org>: delivery via mail.cloud9.net[168.100.1.4]: 250
    Ok

ݡȤ2ܤʬϥޥɤǡʲξޤǤޤ:

  * ٥ԥɥ쥹 (wietse@porcupine.org).
  * ٥׼ԥɥ쥹 (postfix-users@postfix.org)Postfix ˤä
    ԥɥ쥹ѤȡPostfix ϸμԥɥ쥹ޤޤ
  * ֡

Postfix  DSN (delivery status notification, ) ɸ
뤿ˡ٤ϤޤΤΤѹͽǤ

    Content-Description: Delivery report
    Content-Type: message/delivery-status

    Reporting-MTA: dns; spike.porcupine.org
    X-Postfix-Queue-ID: 84863BC0E5
    X-Postfix-Sender: rfc822; wietse@porcupine.org
    Arrival-Date: Tue, 13 Apr 2004 19:27:43 -0400 (EDT)

    Final-Recipient: rfc822; postfix-users@postfix.org
    Action: deliverable
    Status: 2.0.0
    Diagnostic-Code: X-Postfix; delivery via mail.cloud9.net[168.100.1.4]: 250
    Ok

ݡȤ3ܤʬˤ Postfix 褦Ȥ From:  To:
åإåĥåޤޤΤǡФ륢ɥ쥹񤭴
̤狼ޤ"sendmail -bv" ˤ᡼ȡˤʸʤᡢ
ʲǤϲ⸽ޤ

    Content-Description: Message
    Content-Type: message/rfc822

    Received: by spike.porcupine.org (Postfix, from userid 1001)
            id 84863BC0E5; Tue, 13 Apr 2004 19:27:43 -0400 (EDT)
    Subject: probe
    To: postfix-users@postfix.org
    Message-Id: <20040413232743.84863BC0E5@spike.porcupine.org>
    Date: Tue, 13 Apr 2004 19:27:43 -0400 (EDT)
    From: wietse@porcupine.org (Wietse Venema)

