
                     sendmail address rewriting mini-HOWTO
                                       
: Thomas Roessler [1]roessler@guug.de
: ս [2]softsprite@yeah.net

   v0.0, 6 May 1998 : 16 Dec 1999
     _________________________________________________________________
   
   Ľܼͥûŷ sendmail  
     _________________________________________________________________
   
1. 

2. ļ·ӳ

3.  sendmail 

     * 3.1 Ҫļ
     * 3.2 ַд
     * 3.3 
       
4. Ķ
     _________________________________________________________________
   
1. 

   ǼѾܹͨڴѧеĻʼ߷
   ͨPPPŽӹӦ̵硣 յʼǷڹӦ
   POPIMAPУʼͨSMTPͳûһ
   һжʹһַ
   
   ǼѾװEric Allmansendmail°汾(дʱ°汾
   8.8.8汾ܺܺõع)(ߣǰȶ汾8.9.3)
   
   Ĳ˵רָDebian GNU/Linuxϵͳʹа汾ûӦע
   
   
   ȷͷϢ
   
     * ISPʼ
     * Ļʼַ
       
   ǼƻеðҪĿ꣺
   
    1. ͬıû֮䷢ʼ
    2. ⲿʼʱǱûISPʼַǱʼ
       ַ
       
   Ϊ˴ﵽĿģǽʹsendmail genericstable ص㡣
   
2. ļ·ӳ

   ǽsendmailļ²ͬĿ¼У /etc: /etc/mail 
   ͨsendmailڴЩļ /etc  Ϊ˱⣬
   /etc/sendmail.cf ӵ /etc/mail/sendmail.cf 
   
   ļ /etc/mail:
     * =20
     * aliases - ӵıصַ
     * genericsdomain - õһЩϢ
     * genericstable - д
     * sendmail.cf - sendmailļ
     * sendmail.mc - sendmail.cf Դ롣
       
   ϲļ .db ļǰܱsendmailֱʹõĹϣݿ
   
   
   ǼsendmailԴ cf ִĿ¼ /usr/lib/sendmail.cf
   С  Debian GNU/Linux ϵͳоŵġа汾ܴڲ
   ͬĵطοķа汾ĵ
   
3.  sendmail

3.1 Ҫļ

   sendmail ʹ൱ӵĹϵͳ֮ǰ
   ֹͨдһ sendmail.cf ļܲҺķѴʱ䡣Դ˸
   ȤֹͣĶĶȥ O'Reilly  "Bat Book" 
   
   ȡʹֹõķʹ m4 괦Ԥõļ
   ļЩԤļ sendmail ķа汾һṩ
   
   뿴ļ sendmail.mc ĵһУ
     _________________________________________________________________
   
include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(`sendmail.mc - roessler@guug.de')
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')
     _________________________________________________________________
   
   ڵһУ cf.m4  m4 ļֽõ
   塣 ȷṩ·ȷ  ṩ·
   Debian GNU/Linuxĵ· OSTYPE 걻һЩǳõĵǰ
   õȱʡֵ 㲻ʹDebianϵͳԽ "debian" 
   "linux"  ALIAS_FILE  sendmail ȥҵ aliases ļ
   
   ¼и sendmail ʹ genericstable ص͵ȥҵʹøص
   ļ
     _________________________________________________________________
   
FEATURE(masquerade_envelope) FEATURE(genericstable, `hash
-o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
     _________________________________________________________________
   
   masquerade_envelope ص sendmail ȥʵͷдʼŷ 
    һⲿʼͶϵͳֱͶʧܱ;ʼʼַ
   generics* ļ͡
   
   ڣǱ붨һν smart ǽҪΪϵͳⲿ
    ע⣺̨пܲISPPOPIMAP Դ
   ̫ϵISPӦ̡ ļĴ£
     _________________________________________________________________
   
define(`SMART_HOST',`mail-out.your.provider')
     _________________________________________________________________
   
   滻 mail-out.your.provider ISPַ
   
   а "mailer" 壬sendmail Щ֪δͬ
   ͵ʼ
     _________________________________________________________________
   
MAILER(local)
MAILER(smtp)
     _________________________________________________________________
   
   Ϊ˴ sendmail.mc  sendmail.cf ļ (Ϊ root
   û)
     _________________________________________________________________
   
# m4 sendmail.mc > _sendmail.cf
# mv -f _sendmail.cf sendmail.cf
     _________________________________________________________________
   
   עʹõļ m4 дһʱļתƵʵĵط
   ⽫Ǳsendmailֻдһֵļ
   
3.2 ַд

   ȣǱsendmailЩַΪǱصַ(Ȼ󽫱д)
   ܼ򵥣ֻҪĻļ /etc/mail/genericsdomain
   ΪȡĻ
     _________________________________________________________________
   
 $ hostname -f
     _________________________________________________________________
   
   ڣǿһд /etc/mail/genericstable ļɱո
   ɡһаصַڶа滻ʼַ ļ
   £
     _________________________________________________________________
   
harry   harryx@your.isp
maude   maudey@her.isp
root    fredx@your.isp
news    fredx@your.isp
     _________________________________________________________________
   
   עÿһػϵ˺ŶҪһУԶɵⷢʼܴȷ
   ͷϢ
   
   ΪܵĿǣ sendmail ֱʹıļáϣ汾
   Ϊ汾
     _________________________________________________________________
   
# makemap -r hash genericstable.db < genericstable
     _________________________________________________________________
   
   ע⣺ genericstable ָд򽫲 ڱʼⲿյ
   ʼ - תֻʹڴ㱾ػͨISPⲿʼ
   
3.3 

   ļֻ㱾ʼЧĸӱ֡ԹԱ˺ root 
   ãϵͳԶתʼ
   
   /etc/mail/aliases ʾ
     _________________________________________________________________
   
root: fred
news: root
postmaster: root
mail: root
www: root

nobody: /dev/null
MAILER-DAEMON: nobody
     _________________________________________________________________
   
   ӽ· root, news, postmaster, mail,  www ûıʼ
    fred   nobody  MAILER-DAEMON ʼض /dev/null 
   
    genericstable, aliases ܰ ˣ˵
   sendmailֱʹıļЧʵ¡ aliases ú genericstable ͬ
   Ļƣһϣݿ⡣ ȡֱʹ makemap 
    newaliases ԶһС
   
4. Ķ

   sendmailԴ뷢ааĵĶǣرļ cf/README 
   
   ˽sendmailѡԴµַȡáBat Book
   O'Reilly: Bryan Costales, Eric Allman, and Neil Rickert: "sendmail".
   O'Reilly, 1993.

References

   1. mailto:roessler@guug.de
   2. mailto:softsprite@yeah.net
