PPoossttffiixx EETTRRNN HHoowwttoo

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

PPoossttffiixx ®® EETTRRNN ӥŪŪ

SMTP ETRN ޥɤϥ󥿡ͥåȤ³Ū³륵ȤΤ߷
ޤETRN ѤȡȤϥץХΥ᡼륵Ф "
᡼Ƥ" 뤳ȤǤޤSMTP ФϸܵҰ
᡼Υ塼õܵҤ SSMMTTPP Ф³³뤳Ȥˤäƥ᡼
ޤ᡼ ETRN Τ˻Ȥ줿³̤Ƥޤ

Postfix С 1.0 (С 20010228 ȤƤΤƤޤ) 
ETRN ޥɤΨˡǼƤޤ: ñ˥塼ˤ᡼
褦ȤƤޤ¿θܵҰΥ᡼򥭥塼ίƤ
᡼륵ФǤ٤ʤޤ

С 1.0 λǡPostfix ƤΥ塼եθ׵ᤷʤ®
ETRN ޤˡPostfix  ETRN ӥꤵ줿ؤ
᡼ޤ७塼եεϿޤӥꤵƤʤ
ɥᥤǤϡETRN ӥϻȤʤʤޤ

ΥɥȤϰʲ˴ؤ󶡤ޤ:

  * Postfix ® ETRN ӥ
  * Postfix ® ETRN Ư
  * Postfix ® ETRN ӥ
  * Postfix ® ETRN ӥ
  * Postfix ® ETRN ӥΤߤΥɥᥤ
  * Postfix ® ETRN ӥΥƥ

˴ؤ¾Υɥ:

  * flush(8), եå奵ӥμ

PPoossttffiixx ®® EETTRRNN ӥ

ʲ SMTP 饤ȤɤΤ褦 ETRN ӥ׵᤹뤫򼨤SMTP
åǤ饤ȤΥޥɤǼޤ

    220 my.server.tld ESMTP Postfix
    hheelloo mmyy..cclliieenntt..ttlldd
    250 Ok
    eettrrnn ssoommee..ccuussttoommeerr..ddoommaaiinn
    250 Queuing started
    qquuiitt
    221 Bye

פǽҤ٤褦ˡ᡼ϸܵҤ SMTP Ф³뤳Ȥˤä
ޤ; ETRN ޥɤΤ˻Ȥ줿³ȤäƤޤ

Postfix Υڥ졼 "sendmail -qRdestination" ޥɤ䡢Postfix С
1.1 ʹߤǤ "postqueue -sdestination" ޥɤȤȤǡθܵҤ
Ф׵᤹뤳ȤǤޤ

PPoossttffiixx ®® EETTRRNN ưưˡˡ

᡼ʤФʤ Postfix Ȥȡ
Ȥɥᥤ̾ȥ塼ե̾򡢥塼ä᡼
ե̾褴ȤΥե flush(8) ǡޤ
Υե $queue_directory/flush ʲ֤ޤ褴Ȥ
ե $fast_flush_domains ѥ᡼˥ꥹȥåפƤʸˡŪ
ͭʥɥᥤ̾ФƤΤߴޤ

    Postfix                        Postfix               Ŭʤʥɥᥤ
         -(domain, queue ID)->  flush  -(queue ID)->   ȤΥ
                       ǡ                 ե

Postfix  "ɥᥤ󰸤Υ᡼Ƥ" Ȥ׵ȡ
flush(8) ǡϤΥɥᥤФƥꥹȥåפƤƤ deferred
塼ե incoming 塼˰ư塼ޥ͡ˤ
褦׵ᤷޤ뤿ˡ塼ޥ͡ϰŪǤʤ
ΥꥹȤ̵뤷ޤ: ˴ɥᥤδȯꥹȤ
defer_transports ѥ᡼ǻꤵ줿å transport Υꥹȡ

PPoossttffiixx ®® EETTRRNN ӥ

flush(8) ӥ flush 塼Υǥˤꡢ® ETRN ӥ
ͭƤФͭˤʤΤǤˤϤʤʤ
Ĥ¤ޤޤ

  * flush(8) ǡϥ塼ե̾褴ȤΥե
    ޤ"᡼Ƥ" Ȥ׵᤬ϤȡPostfix 
    谸Υ᡼ĥ塼ե˽񤫤줿ƤμԤ
    褦Ȥޤϥ塼ե¿ΰۤʤɥᥤμԤ
    ˤϤޤΨ褯ޤ

  * flush(8) ǡ $fast_flush_domains ˥ꥹȥåפ줿Ф
    Τߡ褴ȤΥեޤ¾Ǥϡ"sendmail
    -qRdestination" 䡢Postfix С 1.1 ʹߤ "postqueue -sdestination"
    ȤäƤΤäȤ뤳ȤϤǤޤ

  * Postfix С 2.1 νΥСޤǤϡdeferred 塼Υ
    Ǥ˿ʹԤƤȤ "᡼Ƥ" Ȥ׵
    äƤ⡢"® flush" ӥϥåʤȤ
    ޤϥ塼ޥ͡㤬˴ɥᥤδȯꥹȤ
    defer_transports ѥ᡼ǻꤵ줿å transport 
    ꥹȤ̵뤷ʤäǤ

PPoossttffiixx ®® EETTRRNN ӥ

flush(8) ǡο񤤤 main.cf եΥѥ᡼椵ޤ

ǥեȤǤϡPostfix "® ETRN" ӥ Postfix ᡼졼褦
ФƤΤͭǤ:

    /etc/postfix/main.cf:
        fast_flush_domains = $relay_domains
        smtpd_etrn_restrictions = permit_mynetworks, reject

:

  * relay_domains ѥ᡼ˤ Postfix 졼ꤷޤ"®
    ETRN" ӥŬʤǤϤʤФƤϡPostfix ϥ顼å
    ޤ

  * smtpd_etrn_restrictions ѥ᡼ ETRN ޥɤ¹ԤǤ륯饤Ȥ
    ¤ޤǥեȤǤϡɤΥ饤Ȥˤ⸢¤ޤ

¾ΤФ "® ETRN" ͭˤˤϡΤ褦˻ꤷޤ:

    /etc/postfix/main.cf:
        fast_flush_domains = $relay_domains, some.other.domain

"® ETRN" ̵ˤơPostfix Ƥ ETRN ׵ݤ褴Ȥ
եʤ褦ˤˤϡΤ褦˻ꤷޤ:

    /etc/postfix/main.cf:
        fast_flush_domains =

®® EETTRRNN ӥΤߤΥɥᥤ

"ETRN" ܵҤե饤δ֡Postfix ϼȯŪˤ˥᡼褦
ޤλԤδ֤ˤ $minimal_backoff_time  $maximal_backoff_time
ޤäֳִ֤ꡢ̤Υ᡼뤬塼ʤˤ
ʤޤ

Postfix ȯŪԤʤ褦ˤ뤿ˤϡ"ETRN" ܵҰΥ᡼
ٱ䤹褦 Postfix ꤹ뤳ȤǤޤ᡼ ETRN ޥɤ
"sendmail -q""sendmail -qRdomain""postqueue -sdomain"(Postfix С
1.1 ʹߤΤ) θǤΤޤ

ʲǤϡñʤ "smtp"  "relay" ᡼ transport ʣǤ
"etrn-only"  transport ꤷޤͣΰ㤤Ϥ transport 
᡼夹Ȥٱ䤵뤳ȤǤ

     1 /etc/postfix/master.cf:
     2   # =============================================================
     3   # service type  private unpriv  chroot  wakeup  maxproc command
     4   #               (yes)   (yes)   (yes)   (never) (100)
     5   # =============================================================
     6   smtp      unix  -       -       n       -       -       smtp
     7   relay     unix  -       -       n       -       -       smtp
     8   etrn-only unix  -       -       n       -       -       smtp
     9
    10 /etc/postfix/main.cf:
    11   relay_domains = customer.tld ...other domains...
    12   defer_transports = etrn-only
    13   transport_maps = hash:/etc/postfix/transport
    14
    15 /etc/postfix/transport:
    16   customer.tld     etrn-only:[mailhost.customer.tld]

:

  * 8: "etrn-only" ᡼ӥ "smtp"  "relay" ӥ
    ԡǤ

  * 11: relay_domains ޤ permit_mx_backup ǽǡθܵҤФ
    졼ǧΤ˺ʤ褦ˤޤ

  * 12: "etrn-only" ᡼ӥꤷơȯŪʥ᡼
    ̵ˤޤ

  * 13-16: ܵҰΥ᡼ "etrn-only" ᡼ӥϤޤ

  * 16: "[mailhost.customer.tld]"  XM 쥳ɸ̵ˤޤ;
    Postfix ФܵҤΥɥᥤΥץ饤ޥ MX ۥȤǤ硢
    ꤷʤФޤ

PPoossttffiixx ®® EETTRRNN ӥΥƥ

ǥեȤǤϡ"® ETRN" ӥ $relay_domains ˥ޥåƤ
ɥᥤФͭǤ˽ "® ETRN" ӥդ Postfix 
ư硢ȤȤٱ䤵줿᡼Υե뤿˰
"sendmail -q" ¹ԤɬפޤʳάƤϤޤ
եϷ Postfix Ūٱ䤵줿᡼褦Ȥݤ
뤳ȤˤʤޤˤϿ֤ޤ"sendmail -q" ޥɤ
ƤԤλ (ˤϤФ餯֤ޤ)"® ETRN"
ӥƥȤޤ

"® ETRN" ӥƥȤ뤿ˤϡETRN ޥɤ¹Ԥ뤳Ȥ줿
饤 (ǥեȤǤƤΥ饤)  Postfix SMTP Ф
telnet Ǽ줿ޥɤ򥿥פޤ:

    220 my.server.tld ESMTP Postfix
    hheelloo mmyy..cclliieenntt..ttlldd
    250 Ok
    eettrrnn ssoommee..ccuussttoommeerr..ddoommaaiinn
    250 Queuing started

 "some.customer.domain"  $queue_directory/flush ʲζǤϤʤ
եĥɥᥤ̾Ǥ

᡼եǡ塼ޥ͡㤬塼ե򳫤ȤȤ
ԤΥեεϿ򤹤˸Ƥ:

    Oct  2 10:51:19 myhostname postfix/qmgr[51999]: 682E8440A4:
        from=<whatever>, size=12345, nrcpt=1 (queue active)
    Oct  2 10:51:19 myhostname postfix/qmgr[51999]: 02249440B7:
        from=<whatever>, size=4711, nrcpt=1 (queue active)

˵뤳Ȥ褬ãǽɤ˰¸ޤãǽǤʤС
᡼륭塼 ID  $queue_directory/flush ʲ some.customer.domain
ե˲äᤵޤ

Ф졼褦Ȥ¾ ($relay_domains ˥ꥹȥåפ줿
ɥᥤ) ǡ塼˥᡼뤬ʤǤ򷫤֤ޤ
ΥƥȤϤʤϤ륳ޥɤɽƤޤ:

    220 my.server.tld ESMTP Postfix
    hheelloo mmyy..cclliieenntt..ttlldd
    250 Ok
    eettrrnn ssoommee..ootthheerr..ccuussttoommeerr..ddoommaaiinn
    250 Queuing started

ϡ"ETRN" ޥɤϥ᡼Τäˤ֤ʤޤס줬
ƤΥ᡼ΤäȤʤä硢ְäɥᥤ̾ȤäƤ뤫
"® ETRN" ӥ̵ˤʤäƤޤ

Ǹˡ᡼륵Ф졼褦Ȥʤ򷫤֤ޤ
谸Υ᡼뤬ФΥ塼ˤ뤫ɤϴطޤ

    220 my.server.tld ESMTP Postfix
    hheelloo mmyy..cclliieenntt..ttlldd
    250 Ok
    eettrrnn nnoott..aa..ccuussttoommeerr..ddoommaaiinn
    459 <not.a.customer.domain>: service unavailable

ξ硢Postfix Ͼ˼褦׵ݤޤ

