  Sendmail address rewriting mini-HOWTO
  Thomas Roessler, roessler@guug.de
  v0.0, 6 maggio 1998

  Questo documento  una breve descrizione di come impostare il file di
  configurazione di sendmail per un uso casalingo con una connessione
  dial-up.  Traduzione a cura di Lorenzo Pulici, lorenzo.pulici@usa.net

  11..  IInnttrroodduuzziioonnee

  Si assume che abbiate il tipo di accesso ad Internet che sembra
  attualmente essere il pi comune alle universit e per i servizi
  online: utilizzate PPP con una connessione seriale per accedere alla
  rete del vostro provider. La vostra posta in arrivo viene presa dal
  server POP o IMAP del provider, mentre i messaggi in uscita verranno
  inviati tramite SMTP. Non disponete di un nome di dominio di vostra
  propriet, per cui tutto utilizza _u_n indirizzo unico.


  Si assume che sia installata sul vostro sistema una versione
  sufficientemente aggiornata di sendmail di Eric Allman (la versione
  8.8.8  l'ultima al momento della stesura di questo documento e
  funziona correttamente).


  Questo documento si riferisce in parte a propriet specifiche dei
  sistemi Debian/GNU Linux; gli utenti di altre distribuzioni dovranno
  averne particolare cura.


  Accertatevi di avere a portata di mano le seguenti informazioni:


    il server di posta del vostro ISP

    il vostro indirizzo di posta Internet



  La configurazione che si sta progettando ha due obiettivi principali:


  1. Possibilit di inviare posta tra i vari utenti locali

  2. Il mondo esterno deve vedere gli indirizzi di posta dell'ISP e non
     quelli locali.


  Per raggiungerli, si usufruir della feature genericstable di
  sendmail.


  22..  MMaappppaa ddeeii ffiillee

  Tutti i file di configurazione di sendmail verranno messi in una
  directory separata, /etc: /etc/mail. Normalmente, sendmail si aspetta
  di trovare questi file direttamente in /etc.  Per evitare problemi
  /etc/sendmail.cf dovr essere un link simbolico a
  /etc/mail/sendmail.cf.


  Questi sono i file che affollano /etc/mail:

    aliases -contiene ulteriori indirizzi locali


    genericsdomain - contiene alcune informazioni sulla configurazione
     del vostro host locale

    genericstable - contiene le attuali regole di riscrittura

    sendmail.cf - file di configurazione di sendmail

    sendmail.mc - il sorgente di sendmail.cf.

  Alcuni di questi file saranno accompagnati da file .db.  Questi file
  contengono database hash per l'uso diretto da parte di sendmail.


  Si assume che la parte cf del tree dei sorgenti di sendmail risieda in
  una directory denominata /usr/lib/sendmail.cf.  Questo  il caso dei
  sistemi Debian GNU/Linux.  Altre distribuzioni potrebbero porre questi
  file in altre posizioni.  Consultate la documentazione della vostra
  distribuzione per maggiori informazioni.


  33..  CCoonnffiigguurraarree sseennddmmaaiill

  33..11..  IIll ffiillee pprriinncciippaallee ddii ccoonnffiigguurraazziioonnee

  Sendmail usa un sistema di regole dall'elevata complessit per la sua
  configurazione. Anche se  possibile eseguire una gran quantit di
  trucchetti in questo modo, scrivere da zero un file sendmail.cf 
  piuttosto insolito e porta via molto tempo.  Se siete tuttavia
  interessati, allora smettete di leggere questo documento adesso per
  iniziare invece il "Bat Book" della O'Reilly.


  Invece di mettere a punto manualmente queste regole, ci si affider al
  processore di macro m4 per costruire la configurazione, partendo dalle
  parti gi pronte distribuite con sendmail.



  Si dia un'occhiata alle prime righe del file sendmail.mc:


  ______________________________________________________________________
  include(/usr/lib/sendmail.cf/m4/cf.m4)
  VERSIONID(`sendmail.mc - roessler@guug.de')
  OSTYPE(debian)
  define(`ALIAS_FILE',`/etc/mail/aliases')
  ______________________________________________________________________



  All'inizio viene incluso cf.m4.  Questo file macro di m4 contiene
  numerose definizioni macro per il resto del file. Ci si assicuri di
  inserire il percorso corretto - quello qui presente  tipico per una
  distribuzione Debian GNU/Linux.  La macro OSTYPE viene utilizzata per
  dare alcune opzioni di default utili per determinati valori di
  configurazione. Se non si utilizza un sistema Debian, sostituire la
  parola "debian" con "linux".  ALIAS_FILE dice a sendmail dove trovare
  la lista degli alias.


  Le righe seguenti indicano a sendmail di utilizzare la feature
  genericstable, e dove trovare i file di configurazione necessari per
  usufruirne:



  ______________________________________________________________________
  FEATURE(masquerade_envelope)
  FEATURE(genericstable, `hash -o /etc/mail/genericstable')
  GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
  ______________________________________________________________________


  La feature masquerade_envelope indica a sendmail di applicare la
  riscrittura degli header al mittente dell'_e_n_v_e_l_o_p_e di un messaggio.
  Questo  l'indirizzo di posta al quale i sottosistemi di consegna
  della posta indirizzeranno i loro rapporti di mancata consegna e i
  messaggi di avvertimento.  I file generics* verranno illustrati pi
  sotto.


   ora necessario definire un cosiddetto "smart host", vale a dire, una
  macchina che gestir la posta in uscita dal vostro sistema.  Questa
  macchina pu non essere lo stesso server POP o IMAP del vostro ISP. Se
  avete dubbi contattate l'assistenza.  Il codice del file principale di
  configurazione:

  ______________________________________________________________________
  define(`SMART_HOST',`postainuscita.mio.provider')
  ______________________________________________________________________


  Sostituire _p_o_s_t_a_i_n_u_s_c_i_t_a_._m_i_o_._p_r_o_v_i_d_e_r con il nome qualificato (FQDN)
  del server del vostro ISP.


  Le due ultime righe includono la definizione "mailer", necessaria a
  sendmail per sapere in che modo gestire i diversi tipi di posta:

  ______________________________________________________________________
  MAILER(local)
  MAILER(smtp)
  ______________________________________________________________________



  Per generare il file sendmail.cf partendo da questo sendmail.mc,
  digitare da root i seguenti comandi:

  ______________________________________________________________________
  # m4 sendmail.mc > _sendmail.cf
  # mv -f _sendmail.cf sendmail.cf
  ______________________________________________________________________



  Si noti la tecnica di scrivere l'output di m4 su di un file temporaneo
  che verr successivamente spostato nella giusta locazione. Ci
  impedisce a sendmail di leggere file di configurazione scritti solo
  parzialmente.


  33..22..  RRiissccrriittttuurraa ddeeggllii iinnddiirriizzzzii..

  Prima di tutto,  necessario far conoscere a sendmail quali sono da
  considerarsi locali (e perci soggetti a riscrittura). Operazione
  molto semplice:  sufficiente inserire il nome qualificato (FQDN)
  della vostra macchina nel file /etc/mail/genericsdomain.  Per
  conoscere il nome qualificato del vostro host, digitare il seguente
  comando:

  ______________________________________________________________________
   $ hostname -f
  ______________________________________________________________________



  Si arriva finalmente alla tabella di riscrittura:
  /etc/mail/genericstable.  Questo file consiste di due colonne,
  separate da spazi vuoti. La prima colonna contiene l'indirizzo locale,
  la seconda l'indirizzo e-mail che dovr sostituirlo.  Il file potrebbe
  assomigliare a questo:


  ______________________________________________________________________
  harry   harryx@your.isp
  maude   maudey@her.isp
  root    fredx@your.isp
  news    fredx@your.isp
  ______________________________________________________________________



  Deve esserci una riga per _o_g_n_i account presente sulla macchina locale,
  cosicch la posta generata automaticamente diretta esternamente alla
  macchina riporter negli headers le informazioni corrette.


  Per motivi di prestazioni, sendmail non utilizza direttamente questo
  file di testo, ma si affida ad una versione "hashed". per generarla,
  digitare il seguente comando.



  ______________________________________________________________________
  # makemap -r hash genericstable.db < genericstable
  ______________________________________________________________________



  Si noti che le regole di riscrittura della genericstable _n_o_n saranno
  applicate alla posta locale o a quella in arrivo dall'esterno - la
  mappatura viene usata unicamente se un messaggio lascia il vostro
  sistema verso lo smart host del vostro ISP.


  33..33..  AAlliiaasseess

  Il file degli aliases contiene nomi locali addizionali validi
  unicamente per messaggi locali.  utile per account amministrativi
  quali root che ricevono posta generata  automaticamente dal vostro
  sistema.


  Un punto di partenza per il vostro /etc/mail/aliases potrebbe
  assomigliare a questo file:



  ______________________________________________________________________
  root: fred
  news: root
  postmaster: root
  mail: root
  www: root

  nobody: /dev/null
  MAILER-DAEMON: nobody
  ______________________________________________________________________



  In questo esempio, la posta locale per gli utenti root, news,
  postmaster, mail, e www verr inoltrata a  fred, mentre quella per
  nobody e MAILER-DAEMON verr rediretta a /dev/null.


  Come per genericstable, aliases potrebbe avere _p_a_r_e_c_c_h_i_e righe.  Per
  questo motivo, sarebbe ancora una volta inefficiente un uso del file
  di testo cos descritto da parte di sendmail. Viene allora applicato
  il medesimo meccanismo per genericstable anche con aliases: si genera
  un hashed database.  Invece di invocare direttamente makemap, 
  possibile digitare stavolta il comando newaliases, che si preoccuper
  da solo di fare il lavoro necessario.


  44..  LLeettttuurree ccoonnssiigglliiaattee

  La distribuzione dei sorgenti di sendmail include una certa
  documentazione. Leggere soprattutto il file cf/README.


  Se il vostro interesse  di approfondire ancora di pi le opzioni di
  configurazione di sendmail, procuratevi il "Bat Book" della O'Reilly:
  Bryan Costales, Eric Allman, e Neil Rickert: "sendmail".  O'Reilly,
  1993.



