eb47c46865
- Also fix fdp-primer examples
2378 lines
101 KiB
XML
2378 lines
101 KiB
XML
<?xml version="1.0" encoding="iso-8859-15"?>
|
|
<!--
|
|
The FreeBSD Italian Documentation Project
|
|
|
|
$FreeBSD$
|
|
Original revision: 1.136
|
|
-->
|
|
|
|
<chapter id="mail">
|
|
<chapterinfo>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Bill</firstname>
|
|
|
|
<surname>Lloyd</surname>
|
|
|
|
<contrib>Lavoro originale di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Jim</firstname>
|
|
|
|
<surname>Mock</surname>
|
|
|
|
<contrib>Rielaborato da </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>Posta Elettronica</title>
|
|
|
|
<sect1 id="mail-synopsis">
|
|
<title>Sinossi</title>
|
|
|
|
<indexterm><primary>email</primary></indexterm>
|
|
|
|
<para>La <quote>Posta Elettronica</quote>, meglio conosciuta come email,
|
|
è una delle forme di comunicazione maggiormente utilizzate
|
|
tutt'oggi. Questo capitolo fornisce un'introduzione di base per
|
|
eseguire un server di posta su &os;, come pure un'introduzione per inviare
|
|
e ricevere la posta elettronica usando &os;; comunque, questo non è
|
|
un riferimento completo e infatti molte considerazioni importanti sono
|
|
omesse. Per coprire questo argomento in modo più completo, si
|
|
rimanda il lettore alla moltitudine di eccellenti libri elencati
|
|
nell'<xref linkend="bibliography"/>.</para>
|
|
|
|
<para>Dopo aver letto questo capitolo, saprai:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Quali componenti software vengono coinvolti nell'invio e
|
|
nella ricezione della posta elettronica.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Dove sono collocati in FreeBSD i file di configurazione
|
|
fondamentali di <application>sendmail</application>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Le differenze tra casella di posta remota e locale.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come impedire agli spammer di usare illegalmente il tuo server di
|
|
posta come un relay.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come installare e configurare un mail transfer agent alternativo
|
|
sul tuo sistema, sostituendo
|
|
<application>sendmail</application>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come risolvere i problemi più frequenti legati al
|
|
server di posta.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come usare SMTP con UCCP.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come configurare il sistema solo per inviare la posta.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come usare la posta con una connessione dialup.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come configurare l'Autenticazione SMTP per aumentare la
|
|
sicurezza.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come installare e usare un Mail User Agent (MUA), come
|
|
<application>mutt</application> per inviare e ricevere la
|
|
posta.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come scaricare la tua posta da un server remoto
|
|
<acronym>POP</acronym> o <acronym>IMAP</acronym>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Come applicare in modo automatico filtri e regole sulla posta
|
|
in entrata.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Prima di leggere questo capitolo, dovresti:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Aver configurato correttamente la tua connessione di rete
|
|
(<xref linkend="advanced-networking"/>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Aver configurato correttamente le informazioni DNS
|
|
relative alla tua macchina server di posta
|
|
(<xref linkend="network-servers"/>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sapere come installare software aggiuntivo di terze parti
|
|
(<xref linkend="ports"/>).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-using">
|
|
<title>Utilizzo della Posta Elettronica</title>
|
|
|
|
<indexterm><primary>POP</primary></indexterm>
|
|
<indexterm><primary>IMAP</primary></indexterm>
|
|
<indexterm><primary>DNS</primary></indexterm>
|
|
|
|
<para>Ci sono cinque parti principali impegnate in uno scambio di email.
|
|
Queste sono: <link linkend="mail-mua">il programma client</link>, <link
|
|
linkend="mail-mta">quello server</link>, <link
|
|
linkend="mail-dns">il DNS</link>, <link linkend="mail-receive">una
|
|
casella di posta remota o locale</link>, e naturalmente <link
|
|
linkend="mail-host">la macchina server di posta</link>.</para>
|
|
|
|
<sect2 id="mail-mua">
|
|
<title>Il Programma Client</title>
|
|
|
|
<para>Questo include programmi a riga di comando quali
|
|
<application>mutt</application>, <application>pine</application>,
|
|
<application>elm</application>, e <application>mail</application>,
|
|
e programmi con un'interfaccia grafica (<acronym>GUI</acronym>) quali
|
|
<application>balsa</application>, <application>xfmail</application>
|
|
per citarne alcuni, e qualcosa di più <quote>raffinato</quote>
|
|
simile a un browser WWW. Questi programmi semplicemente fanno passare
|
|
le transazioni email alla <link linkend="mail-host"><quote>macchina
|
|
server di posta</quote></link> locale, chiamando uno dei
|
|
<link linkend="mail-mta">programmi server</link> disponibili o
|
|
inoltrando queste transazioni via TCP.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-mta">
|
|
<title>Il Programma Server</title>
|
|
|
|
<indexterm>
|
|
<primary>server di posta</primary>
|
|
<secondary><application>sendmail</application></secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>server di posta</primary>
|
|
<secondary><application>postfix</application></secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>server di posta</primary>
|
|
<secondary><application>qmail</application></secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>server di posta</primary>
|
|
<secondary><application>exim</application></secondary>
|
|
</indexterm>
|
|
|
|
<para>&os; incorpora di default <application>sendmail</application>,
|
|
ma supporta anche altri programmi server di posta elettronica, alcuni
|
|
dei quali sono:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><application>exim</application>;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>postfix</application>;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>qmail</application>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Di solito il programma server svolge due funzioni—si occupa
|
|
di ricevere la posta in arrivo e di consegnare quella in partenza.
|
|
Questo programma <emphasis>non</emphasis> permette di prelevare la posta
|
|
usando protocolli come <acronym>POP</acronym> o <acronym>IMAP</acronym>,
|
|
ne tanto meno di <quote>collegarsi</quote> alle caselle di posta locali
|
|
<filename>mbox</filename> o di tipo Maildir. Per far questo hai
|
|
bisogno di un altro <link linkend="mail-receive">demone</link>.</para>
|
|
|
|
<warning>
|
|
<para>Vecchie versioni di <application>sendmail</application> contengono
|
|
alcuni seri problemi di sicurezza che possono dare la
|
|
possibilità ad un attaccante di guadagnarsi un accesso locale
|
|
e/o remote sulla tua macchina. Assicurati di eseguire una versione
|
|
aggiornata per evitare questi problemi. In alternativa, installa
|
|
un altro <acronym>MTA</acronym> dalla <link linkend="ports">&os;
|
|
Ports Collection</link>.</para>
|
|
</warning>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-dns">
|
|
<title>Email e DNS</title>
|
|
|
|
<para>Il <acronym>DNS</acronym> (Domain Name System) e il suo demone
|
|
<command>named</command> giocano un ruolo fondamentale nella consegna
|
|
della posta. Per consegnare la posta dal tuo host a un altro, il
|
|
programma server cercherà l'host remoto nel DNS per determinare
|
|
la macchina server che riceverà la posta per il destinatario.
|
|
Lo stesso processo avviene quando un host remoto invia dei messaggi di
|
|
posta alla tua macchina server di posta.</para>
|
|
|
|
<indexterm><primary>record MX</primary></indexterm>
|
|
|
|
<para>Il <acronym>DNS</acronym> è responsabile della corrispondenza
|
|
tra nomi host ed indirizzi IP, e memorizza anche informazioni specifiche
|
|
per la consegna della posta, informazioni conosciute come record MX.
|
|
Il record MX (Mail eXchanger) specifica quale/i host dovranno ricevere
|
|
la posta per un particolare dominio. Se non hai un record MX per il tuo
|
|
nome host o per il tuo dominio, la posta sarà consegnata
|
|
direttamente al tuo host a condizione di avere un record A che mappa
|
|
il tuo nome host al tuo indirizzo IP.</para>
|
|
|
|
<para>Puoi vedere i record MX per un dominio usando il comando
|
|
&man.host.1;, come mostrato nel seguente esempio:</para>
|
|
|
|
<screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
|
|
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-receive">
|
|
<title>Ricezione della Posta</title>
|
|
|
|
<indexterm>
|
|
<primary>email</primary>
|
|
<secondary>ricezione</secondary>
|
|
</indexterm>
|
|
|
|
<para>La ricezione della posta per il tuo dominio viene gestita dalla
|
|
macchina server di posta. Questa raccoglierà la posta
|
|
indirizzata al tuo dominio e la salverà nel formato
|
|
<filename>mbox</filename> (metodo per la memorizzazione della posta di
|
|
default) o Maildir, a seconda delle tua configurazione. Una volta
|
|
memorizzata, la posta può essere sia letta in modo locale usando
|
|
applicazioni come &man.mail.1; o <application>mutt</application>, sia
|
|
prelevata in modo remoto usando protocolli come <acronym>POP</acronym>
|
|
e <acronym>IMAP</acronym>. Ciò significa che se vuoi solo
|
|
leggere la posta localmente, non hai bisogno di installare un server
|
|
<acronym>POP</acronym> o <acronym>IMAP</acronym>.</para>
|
|
|
|
<sect3 id="pop-and-imap">
|
|
<title>Accedere a caselle di posta remote usando <acronym>POP</acronym>
|
|
o <acronym>IMAP</acronym></title>
|
|
|
|
<indexterm><primary>POP</primary></indexterm>
|
|
<indexterm><primary>IMAP</primary></indexterm>
|
|
|
|
<para>Per accedere a caselle di posta in modo remoto, devi avere
|
|
l'accesso a un server <acronym>POP</acronym> o
|
|
<acronym>IMAP</acronym>. Questi protocolli permettono agli utenti
|
|
di collegarsi con facilità alle loro caselle di posta da
|
|
locazioni remote. Benchè sia <acronym>POP</acronym> che
|
|
<acronym>IMAP</acronym> permettono agli utenti di accedere alle
|
|
caselle di posta in modo remoto, <acronym>IMAP</acronym> offre
|
|
alcuni vantaggi, alcuni dei quali sono:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><acronym>IMAP</acronym> può memorizzare e prelevare
|
|
i messaggi di posta su un server remoto.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>IMAP</acronym> supporta aggiornamenti
|
|
simultanei.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>IMAP</acronym> può essere estremamente utile
|
|
con connessioni lente poichè permette agli utenti di
|
|
prelevare la struttura dei messaggi senza scaricarli
|
|
completamente; può inoltre realizzare compiti come la
|
|
ricerca su un server al fine di minimizzare il trasferimento dei
|
|
dati tra client e server.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Per installare un server <acronym>POP</acronym> o
|
|
<acronym>IMAP</acronym>, devi seguire i seguenti passi:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Scegli un server <acronym>IMAP</acronym> o
|
|
<acronym>POP</acronym> che meglio soddisfa le tue
|
|
necessità. I seguenti server <acronym>POP</acronym> e
|
|
<acronym>IMAP</acronym> sono ben noti e si prestano come degli
|
|
ottimi esempi:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><application>qpopper</application>;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>teapop</application>;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>imap-uw</application>;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><application>courier-imap</application>;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Installa il demone <acronym>POP</acronym> o
|
|
<acronym>IMAP</acronym> di tua scelta dalla collezione dei
|
|
port.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Se necessario, modifica il file
|
|
<filename>/etc/inetd.conf</filename> per avviare il server
|
|
<acronym>POP</acronym> o <acronym>IMAP</acronym>.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<warning>
|
|
<para>Nota che sia <acronym>POP</acronym> che <acronym>IMAP</acronym>
|
|
trasmettono informazioni, inclusi il nome utente e la password in
|
|
chiaro. Ciò significa che se vuoi mettere al sicuro la
|
|
trasmissione di informazioni su questi protocolli, potresti
|
|
considerare di effettuare tunnel di sessioni con &man.ssh.1;.
|
|
La creazione di tunnel di sessioni è descritta nella
|
|
<xref linkend="security-ssh-tunneling"/>.</para>
|
|
</warning>
|
|
</sect3>
|
|
|
|
<sect3 id="local">
|
|
<title>Accesso alle caselle di posta locali</title>
|
|
|
|
<para>Si può accedere localmente alla casella di posta
|
|
utilizzando un <acronym>MUA</acronym> sul server nel quale risiede la
|
|
casella di posta. Questo può essere fatto usando applicazioni
|
|
come <application>mutt</application> o &man.mail.1;.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-host">
|
|
<title>La Macchina Server di Posta</title>
|
|
|
|
<indexterm><primary>macchina server di posta</primary></indexterm>
|
|
|
|
<para>La macchina server di posta è il nome del server
|
|
che è responsabile della consegna e del ricevimento della posta
|
|
per il tuo host, ed eventualmente per la tua rete.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="sendmail">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Christopher</firstname>
|
|
|
|
<surname>Shumway</surname>
|
|
|
|
<contrib>Contributo di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Configurazione di <application>sendmail</application></title>
|
|
|
|
<indexterm>
|
|
<primary><application>sendmail</application></primary>
|
|
</indexterm>
|
|
|
|
<para>&man.sendmail.8; è il Mail Transfer Agent (MTA) di default su
|
|
FreeBSD. Il compito di <application>sendmail</application> è di
|
|
accettare posta dai Mail User Agent (<acronym>MUA</acronym>), e
|
|
consegnarla al server di posta appropriato come definito nel suo file di
|
|
configurazione. Inoltre <application>sendmail</application> può
|
|
accettare connessioni via rete e consegnare i messaggi a caselle di posta
|
|
locali o ad un altro programma.</para>
|
|
|
|
<para><application>sendmail</application> utilizza i seguenti file di
|
|
configurazione:</para>
|
|
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/access</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/aliases</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/local-host-names</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/mailer.conf</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/mailertable</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/sendmail.cf</filename></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><filename>/etc/mail/virtusertable</filename></primary>
|
|
</indexterm>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>File</entry>
|
|
|
|
<entry>Funzione</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><filename>/etc/mail/access</filename></entry>
|
|
|
|
<entry>File database di accesso di
|
|
<application>sendmail</application></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/aliases</filename></entry>
|
|
|
|
<entry>Alias delle caselle di posta</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/local-host-names</filename></entry>
|
|
|
|
<entry>Lista di host per i quali
|
|
<application>sendmail</application> accetta posta</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/mailer.conf</filename></entry>
|
|
|
|
<entry>File di configurazione del programma di posta</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/mailertable</filename></entry>
|
|
|
|
<entry>Tabella di consegna del programma di posta</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/sendmail.cf</filename></entry>
|
|
|
|
<entry>File di configurazione principale di
|
|
<application>sendmail</application></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/etc/mail/virtusertable</filename></entry>
|
|
|
|
<entry>Tabelle degli utenti e dei domini virtuali</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<sect2>
|
|
<title><filename>/etc/mail/access</filename></title>
|
|
|
|
<para>Il database di accesso definisce quali host o indirizzi
|
|
IP hanno accesso al server di posta locale e quale tipo di accesso
|
|
hanno. Gli host possono essere catalogati come <option>OK</option>,
|
|
<option>REJECT</option>, <option>RELAY</option> o possono semplicemente
|
|
essere passati alla procedura di gestione degli errori di
|
|
<application>sendmail</application> con un preciso errore. Gli host
|
|
che sono definiti <option>OK</option>, che è il valore di
|
|
default, possono spedire posta a questo host sempre che la destinazione
|
|
finale della posta sia la macchina locale. Gli host che sono definiti
|
|
<option>REJECT</option> vengono rifiutati per qualsiasi connessione di
|
|
posta. Gli host che hanno l'opzione <option>RELAY</option> per i loro
|
|
nomi host possono utilizzare questo server per spedire posta verso
|
|
qualsiasi destinazione.</para>
|
|
|
|
<example>
|
|
<title>Configurazione del Database di Accesso di
|
|
<application>sendmail</application></title>
|
|
|
|
<programlisting>cyberspammer.com 550 Non accettiamo posta dagli spammer
|
|
FREE.STEALTH.MAILER@ 550 Non accettiamo posta dagli spammer
|
|
altra.sorgente.di.spam REJECT
|
|
okay.cyberspammer.com OK
|
|
128.32 RELAY</programlisting>
|
|
</example>
|
|
|
|
<para>In questo esempio abbiamo cinque elementi. Gli host mittenti
|
|
che corrispondono a quelli posti sul lato sinistro della tabella sono
|
|
condizionati dall'azione posta sul lato destro della tabella.
|
|
I primi due esempi passano un codice di errore alla procedura di
|
|
<application>sendmail</application> che gestisce gli errori. Il
|
|
messaggio viene restituito all'host remoto quando viene trovata una
|
|
corrispondenza sul lato sinistro della tabella. Il terzo esempio
|
|
rifiuta la posta da un host specifico su Internet,
|
|
<hostid>altra.sorgente.di.spam</hostid>. Il quarto esempio accetta
|
|
connessioni di posta da un host, <hostid
|
|
role="fqdn">okay.cyberspammer.com</hostid>, che è più
|
|
preciso rispetto a <hostid role="domainname">cyberspammer.com</hostid>
|
|
della prima linea. Le corrispondenze più precise sovrascrivono
|
|
quelle meno precise. L'ultimo esempio permette il relay della posta
|
|
elettronica agli host che hanno un indirizzo IP che inizia con
|
|
<hostid>128.32</hostid>. Questi host possono spedire messaggi destinati
|
|
ad altri server di posta attraverso questo server.</para>
|
|
|
|
<para>Quando modifichi questo file, devi eseguire <command>make</command>
|
|
in <filename>/etc/mail/</filename> per aggiornare il database.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><filename>/etc/mail/aliases</filename></title>
|
|
|
|
<para>Il database degli alias contiene una lista di caselle di posta
|
|
virtuali che sono espanse in altri utenti, file, programmi o in altri
|
|
alias. Seguono alcuni esempi che possono essere usati in
|
|
<filename>/etc/mail/aliases</filename>:</para>
|
|
|
|
<example>
|
|
<title>Alias di Posta</title>
|
|
|
|
<programlisting>root: utentelocale
|
|
ftp-bugs: joe,eric,paul
|
|
bit.bucket: /dev/null
|
|
procmail: "|/usr/local/bin/procmail"</programlisting>
|
|
</example>
|
|
|
|
<para>Il formato del file è semplice: il nome della casella di
|
|
posta che si trova a sinistra dei due punti viene espanso negli elementi
|
|
posti a destra dei due punti. Il primo esempio semplicemente espande la
|
|
casella di posta <username>root</username> nella casella di posta
|
|
<username>utentelocale</username>, che è di nuovo ricercata
|
|
nel database degli alias. Se non viene trovata, allora il messaggio
|
|
viene consegnato all'utente locale <username>utentelocale</username>.
|
|
L'esempio successivo mostra una mailing list. La posta indirizzata
|
|
alla casella di posta <username>ftp-bugs</username> viene espansa nelle
|
|
tre caselle di posta locali <username>joe</username>,
|
|
<username>eric</username>, e <username>paul</username>. Nota che una
|
|
casella di posta remota può essere specificata come
|
|
<email>user@example.com</email>. Il terzo esempio mostra come
|
|
scrivere la posta su un file, in questo caso
|
|
<filename>/dev/null</filename>. L'ultimo esempio mostra come mandare
|
|
la posta a un programma, in questo caso il messaggio di posta diventa
|
|
lo standard input di <filename>/usr/local/bin/procmail</filename>
|
|
tramite una pipe &unix;.</para>
|
|
|
|
<para>Quando modifichi questo file, devi eseguire <command>make</command>
|
|
in <filename>/etc/mail/</filename> per aggiornare il database.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><filename>/etc/mail/local-host-names</filename></title>
|
|
|
|
<para>Questo file è una lista di nomi host che &man.sendmail.8;
|
|
accetta come se fossero l'host locale. Metti i domini o gli host
|
|
per i quali <application>sendmail</application> deve ricevere posta.
|
|
Per esempio, se questo server di posta dovesse essere in grado di
|
|
accettare posta per il dominio
|
|
<hostid role="domainname">example.com</hostid> e per l'host
|
|
<hostid role="fqdn">mail.example.com</hostid>, il suo
|
|
<filename>local-host-names</filename> potrebbe assomigliare a
|
|
questo:</para>
|
|
|
|
<programlisting>example.com
|
|
mail.example.com</programlisting>
|
|
|
|
<para>Quando modifichi questo file, devi riavviare &man.sendmail.8; per
|
|
attivare i cambiamenti.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><filename>/etc/mail/sendmail.cf</filename></title>
|
|
|
|
<para>Il file di configurazione principale di
|
|
<application>sendmail</application>, <filename>sendmail.cf</filename>
|
|
controlla l'intero comportamento di <application>sendmail</application>,
|
|
inclusa ogni cosa, dalla rielaborazione degli indirizzi e-mail alla
|
|
stampa del messaggio di rifiuto per i server di posta remoti.
|
|
Naturalmente, avendo svariati compiti, questo file di configurazione
|
|
è alquanto complesso e i suoi dettagli vanno oltre lo scopo di
|
|
questa sezione. Fortunatamente, questo file necessita raramente di
|
|
essere modificato per server di posta standard.</para>
|
|
|
|
<para>Il file di configurazione principale di
|
|
<application>sendmail</application> può essere costruito
|
|
a partire da macro &man.m4.1; che definiscono le caratteristiche e il
|
|
comportamento di <application>sendmail</application>. Guarda
|
|
<filename>/usr/src/contrib/sendmail/cf/README</filename> per ulteriori
|
|
dettagli.</para>
|
|
|
|
<para>Quando modifichi questo file, devi riavviare &man.sendmail.8; per
|
|
attivare i cambiamenti.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><filename>/etc/mail/virtusertable</filename></title>
|
|
|
|
<para>Il file <filename>virtusertable</filename> mappa indirizzi di posta
|
|
relativi a domini e caselle di posta virtuali in caselle di posta reali.
|
|
Queste caselle di posta possono essere locali, remote, alias definiti in
|
|
<filename>/etc/mail/aliases</filename> o file.</para>
|
|
|
|
<example>
|
|
<title>Esempio di Mappatura per la Posta di un Dominio Virtuale</title>
|
|
|
|
<programlisting>root@example.com root
|
|
postmaster@example.com postmaster@noc.example.net
|
|
@example.com joe</programlisting>
|
|
</example>
|
|
|
|
<para>Nell'esempio precedente, abbiamo una mappatura per il dominio
|
|
<hostid role="domainname">example.com</hostid>. Questo file viene
|
|
processato dall'alto verso il basso fermandosi alla prima corrispondenza
|
|
trovata. Il primo elemento mappa <email>root@example.com</email>
|
|
nella casella di posta locale <username>root</username>. Il secondo
|
|
elemento mappa <email>postmaster@example.com</email> nella casella
|
|
di posta <username>postmaster</username> sull'host <hostid
|
|
role="fqdn">noc.example.net</hostid>. Infine, se non sono state
|
|
trovate corrispondenze per <hostid role="fqdn">example.com</hostid>
|
|
fino a questo punto, verrà verificata l'ultima mappatura, che
|
|
corrisponde a tutti gli altri messaggi di posta indirizzati a qualche
|
|
utente di <hostid role="domainname">example.com</hostid>.
|
|
Questo verrà mappato nella casella di posta locale
|
|
<username>joe</username>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-changingmta">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Andrew</firstname>
|
|
|
|
<surname>Boothman</surname>
|
|
|
|
<contrib>Scritto da </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Gregory</firstname>
|
|
|
|
<surname>Neil Shapiro</surname>
|
|
|
|
<contrib>Informazioni prese da e-mail scritte da </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Sostituzione del proprio Mail Transfer Agent</title>
|
|
|
|
<indexterm>
|
|
<primary>email</primary>
|
|
<secondary>cambiare mta</secondary>
|
|
</indexterm>
|
|
|
|
<para>Come già menzionato, l'MTA (Mail Transfer Agent, agente di
|
|
trasferimento della posta elettronica) installato di default su FreeBSD
|
|
è <application>sendmail</application>. Di conseguenza
|
|
<application>sendmail</application> è responsabile della tua posta
|
|
in partenza e di quella in arrivo.</para>
|
|
|
|
<para>Comunque, per vari motivi, alcuni amministratori necessitano di
|
|
cambiare l'MTA dei loro sistemi. Questi motivi spaziano dal voler
|
|
semplicemente provare un altro MTA all'aver bisogno di una caratteristica
|
|
o di un pacchetto specifico ritrovabile in un altro MTA. Fortunatamente,
|
|
per qualsiasi motivo, FreeBSD semplifica il processo di
|
|
sostituzione.</para>
|
|
|
|
<sect2>
|
|
<title>Installazione di un nuovo MTA</title>
|
|
|
|
<para>Hai un'ampia scelta di MTA utilizzabili. Un buon punto di partenza
|
|
è la <link linkend="ports">FreeBSD Ports Collection</link> dove
|
|
puoi trovarne molti. Naturalmente sei libero di usare qualunque
|
|
MTA proveniente da qualche sito, a condizione che tu riesca ad eseguirlo
|
|
sotto FreeBSD.</para>
|
|
|
|
<para>Inizia installando il tuo nuovo MTA. Una volta installato devi
|
|
valutare se realmente soddisfa le tue necessità, inoltre devi
|
|
avere la possibilità di configurare il tuo nuovo programma prima
|
|
che subentri a <application>sendmail</application>. Valutato questo,
|
|
devi essere sicuro che durante l'installazione del nuovo programma non
|
|
ci siano stati tentativi di sovrascrivere binari di sistema come
|
|
<filename>/usr/bin/sendmail</filename>. Altrimenti, il tuo nuovo
|
|
programma di posta è stato essenzialmente messo in
|
|
attività prima che tu l'abbia configurato.</para>
|
|
|
|
<para>Per cortesia fai riferimento alla documentazione dell'MTA che hai
|
|
scelto per informazioni su come configurarlo.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-disable-sendmail">
|
|
<title>Disabilitazione di <application>sendmail</application></title>
|
|
|
|
<para>La procedura usata per avviare <application>sendmail</application>
|
|
cambia significativamente tra la 4.5-RELEASE e la 4.6-RELEASE.
|
|
Di conseguenza, la procedura usata per disabilitarlo è
|
|
leggermente differente a seconda della versione di FreeBSD
|
|
utilizzata.</para>
|
|
|
|
<warning>
|
|
<para>Se disabiliti il servizio di consegna della posta di
|
|
<application>sendmail</application> in questo modo, è
|
|
importante che questo venga rimpiazzato con un altro sistema
|
|
di consegna della posta. Se non lo farai,
|
|
le funzioni di sistema come &man.periodic.8; saranno incapaci di
|
|
inviare i loro risultati tramite e-mail come normalmente prevedono
|
|
di fare. Molte parti del tuo sistema potrebbero presupporre di
|
|
avere un sistema funzionante compatibile con
|
|
<application>sendmail</application>. Se le applicazioni continuano
|
|
a usare i binari di <application>sendmail</application> per tentare
|
|
di spedire e-mail dopo che tu l'hai disabilitato, la posta potrebbe
|
|
finire in una coda inattiva di <application>sendmail</application>,
|
|
senza che venga mai consegnata.</para>
|
|
</warning>
|
|
|
|
<sect3>
|
|
<title>FreeBSD 4.5-STABLE prima del 4/4/2002 e precedenti (inclusa
|
|
4.5-RELEASE e precedenti)</title>
|
|
|
|
<para>Metti:</para>
|
|
|
|
<programlisting>sendmail_enable="NO"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf</filename>. In questo modo si
|
|
disabiliterà il servizio di ricezione della posta
|
|
di <application>sendmail</application>, ma se
|
|
<filename>/etc/mail/mailer.conf</filename> (vedi sotto) non viene
|
|
modificato, <application>sendmail</application> verrà ancora
|
|
usato per spedire e-mail.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>FreeBSD 4.5-STABLE dopo il 4/4/2002 (inclusa 4.6-RELEASE e
|
|
successive)</title>
|
|
|
|
<para>Per disabilitare completamente <application>sendmail</application>,
|
|
incluso il servizio della posta in uscita, devi mettere</para>
|
|
|
|
<programlisting>sendmail_enable="NONE"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf.</filename></para>
|
|
|
|
<para>Se vuoi solamente disabilitare il servizio di ricezione della
|
|
posta di <application>sendmail</application>, devi mettere</para>
|
|
|
|
<programlisting>sendmail_enable="NO"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf</filename>. Comunque, se
|
|
la ricezione della posta è disabilitata, la consegna locale
|
|
funzionerà ancora. Maggiori informazioni sulle
|
|
opzioni di avvio di <application>sendmail</application> sono
|
|
disponibili nella pagina man di &man.rc.sendmail.8;.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>FreeBSD 5.0-STABLE e Successive</title>
|
|
|
|
<para>Per disabilitare completamente
|
|
<application>sendmail</application>, servizi di posta in
|
|
ingresso e in uscita inclusi, devi usare</para>
|
|
|
|
<programlisting>sendmail_enable="NO"
|
|
sendmail_submit_enable="NO"
|
|
sendmail_outbound_enable="NO"
|
|
sendmail_msp_queue_enable="NO"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf.</filename></para>
|
|
|
|
<para>Se vuoi solamente disabilitare il servizio di ricezione della
|
|
posta di <application>sendmail</application>, devi mettere</para>
|
|
|
|
<programlisting>sendmail_enable="NO"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf</filename>. Molte informazioni sulle
|
|
opzioni di avvio di <application>sendmail</application> sono
|
|
disponibili nella pagina man di &man.rc.sendmail.8;.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Esecuzione del nuovo MTA all'avvio</title>
|
|
|
|
<para>Hai due possibili metodi per eseguire il tuo nuovo MTA all'avvio,
|
|
a seconda della versione di FreeBSD utilizzata.</para>
|
|
|
|
<sect3>
|
|
<title>FreeBSD 4.5-STABLE prima del 11/4/2002 (inclusa 4.5-RELEASE e
|
|
precedenti)</title>
|
|
|
|
<para>Posiziona uno script in
|
|
<filename>/usr/local/etc/rc.d/</filename> con estensione
|
|
<filename>.sh</filename> ed eseguibile da <username>root</username>.
|
|
Lo script deve accettare i parametri <literal>start</literal> e
|
|
<literal>stop</literal>. Nella fase di avvio di FreeBSD gli script
|
|
di sistema eseguiranno il comando</para>
|
|
|
|
<programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting>
|
|
|
|
<para>che puoi anche usare per avviare manualmente il
|
|
server. Nella fase di chiusura di FreeBSD, gli script di sistema
|
|
useranno l'opzione <literal>stop</literal>, eseguendo il
|
|
comando</para>
|
|
|
|
<programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting>
|
|
|
|
<para>che puoi anche usare per arrestare manualmente il
|
|
server mentre il sistema è in funzione.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>FreeBSD 4.5-STABLE dopo il 11/4/2002 (inclusa 4.6-RELEASE e
|
|
successive)</title>
|
|
|
|
<para>Con le versioni recenti di FreeBSD, puoi usare il metodo
|
|
precedente oppure puoi mettere</para>
|
|
|
|
<programlisting>mta_start_script="nomefile"</programlisting>
|
|
|
|
<para>in <filename>/etc/rc.conf</filename>, dove
|
|
<replaceable>nomefile</replaceable> è il nome dello script
|
|
che vuoi eseguire all'avvio per avviare il tuo MTA.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Sostituzione di <application>sendmail</application> come programma
|
|
di posta di default del sistema</title>
|
|
|
|
<para><application>sendmail</application> è così
|
|
onnipresente come programma standard su sistemi &unix; che alcuni
|
|
programmi lo suppongono già installato e configurato. Per questa
|
|
ragione, molti degli altri MTA forniscono la loro compatibile
|
|
implementazione dell'interfaccia a riga di comando di
|
|
<application>sendmail</application>; questo agevola il loro utilizzo
|
|
come sostituti <quote>drop-in</quote> di
|
|
<application>sendmail</application>.</para>
|
|
|
|
<para>Quindi, se usi un altro programma di posta, dovrai assicurarti
|
|
che i programmi che tentano di eseguire i binari standard di
|
|
<application>sendmail</application> come
|
|
<filename>/usr/bin/sendmail</filename> in realtà eseguano
|
|
il programma di posta da te scelto. Fortunatamente, FreeBSD fornisce
|
|
un meccanismo chiamato &man.mailwrapper.8; che fa questo lavoro per
|
|
te.</para>
|
|
|
|
<para>Quando <application>sendmail</application> è operativo,
|
|
dovresti vedere in <filename>/etc/mail/mailer.conf</filename> qualcosa
|
|
di simile a questo:</para>
|
|
|
|
<programlisting>sendmail /usr/libexec/sendmail/sendmail
|
|
send-mail /usr/libexec/sendmail/sendmail
|
|
mailq /usr/libexec/sendmail/sendmail
|
|
newaliases /usr/libexec/sendmail/sendmail
|
|
hoststat /usr/libexec/sendmail/sendmail
|
|
purgestat /usr/libexec/sendmail/sendmail</programlisting>
|
|
|
|
<para>Questo significa che quando uno di questi comandi
|
|
(come <filename>sendmail</filename> stesso) viene eseguito, in
|
|
realtà il sistema invoca una copia di mailwrapper di nome
|
|
<filename>sendmail</filename>, la quale esamina
|
|
<filename>mailer.conf</filename> ed esegue
|
|
<filename>/usr/libexec/sendmail/sendmail</filename>. Questo meccanismo
|
|
facilita la sostituzione dei binari che sono realmente eseguiti quando
|
|
vengono invocate queste funzioni di default di
|
|
<filename>sendmail</filename>.</para>
|
|
|
|
<para>Quindi se vuoi che
|
|
<filename>/usr/local/supermailer/bin/sendmail-compat</filename> sia
|
|
eseguito al posto di <application>sendmail</application>, devi
|
|
modificare <filename>/etc/mail/mailer.conf</filename> in questo
|
|
modo:</para>
|
|
|
|
<programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat
|
|
send-mail /usr/local/supermailer/bin/sendmail-compat
|
|
mailq /usr/local/supermailer/bin/mailq-compat
|
|
newaliases /usr/local/supermailer/bin/newaliases-compat
|
|
hoststat /usr/local/supermailer/bin/hoststat-compat
|
|
purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Conclusione</title>
|
|
|
|
<para>Una volta che hai configurato ogni cosa a tuo piacimento, devi
|
|
terminare i processi di <application>sendmail</application> di cui non
|
|
hai più bisogno e avviare i processi appartenenti al tuo nuovo
|
|
programma, oppure puoi semplicemente riavviare il sistema. Riavviando
|
|
il sistema avrai la possibilità di verificare se il sistema sia
|
|
stato configurato correttamente per eseguire il tuo nuovo MTA in modo
|
|
automatico all'avvio.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-trouble">
|
|
<title>Risoluzione dei Problemi</title>
|
|
|
|
<indexterm>
|
|
<primary>email</primary>
|
|
<secondary>risoluzione dei problemi</secondary>
|
|
</indexterm>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Perché devo usare nomi di dominio completi (FQDN) per gli
|
|
host del mio dominio?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Probabilmente ti accorgerai che l'host è effettivamente
|
|
in un dominio differente; per esempio, se sei in <hostid
|
|
role="fqdn">foo.bar.edu</hostid> e desideri raggiungere un host
|
|
chiamato <hostid>mumble</hostid> appartenente al dominio <hostid
|
|
role="domainname">bar.edu</hostid>, dovrai riferirti a questo
|
|
tramite un nome di dominio completo, <hostid
|
|
role="fqdn">mumble.bar.edu</hostid>, invece del solo
|
|
<hostid>mumble</hostid>.</para>
|
|
|
|
<indexterm><primary>BIND</primary></indexterm>
|
|
|
|
<para>Tradizionalmente, questo era permesso dai resolver BIND di
|
|
BSD. Tuttavia la versione corrente di
|
|
<application>BIND</application> equipaggiata con FreeBSD non
|
|
prevede più l'abbreviazione di default per nomi di dominio
|
|
non completi all'infuori del dominio in cui sei. Quindi l'host
|
|
<hostid>mumble</hostid> sarà giudicato come <hostid
|
|
role="fqdn">mumble.foo.bar.edu</hostid>, oppure sarà
|
|
ricercato per il dominio radice.</para>
|
|
|
|
<para>Questo differisce dal comportamento precedente, dove la ricerca
|
|
continuava attraverso <hostid
|
|
role="domainname">mumble.bar.edu</hostid>, e <hostid
|
|
role="domainname">mumble.edu</hostid>. Dai un'occhiata all'RFC
|
|
1535 per i motivi per cui questa sia considerata una cattiva
|
|
pratica, o persino un buco di sicurezza.</para>
|
|
|
|
<para>Come buona soluzione al problema, puoi mettere la linea:
|
|
<programlisting>search foo.bar.edu bar.edu</programlisting>
|
|
al posto della precedente:
|
|
<programlisting>domain foo.bar.edu</programlisting>
|
|
nel tuo <filename>/etc/resolv.conf</filename>. Comunque, assicurati
|
|
che l'ordine di ricerca non oltrepassi il
|
|
<quote>confine tra amministrazione locale e pubblica</quote>, come
|
|
definito nell'RFC 1535.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<indexterm><primary>record MX</primary></indexterm>
|
|
|
|
<para><application>sendmail</application> riporta l'errore
|
|
<errorname>mail loops back to myself</errorname></para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>La risposta è contenuta nelle FAQ di
|
|
<application>sendmail</application> come segue:</para>
|
|
|
|
<programlisting>Ottengo messaggi di errore, come questo:
|
|
|
|
553 MX list for domain.net points back to relay.domain.net
|
|
554 <user@domain.net>... Local configuration error
|
|
|
|
Come posso risolvere questo problema?
|
|
|
|
Hai chiesto che la posta per il dominio (es., domain.net) sia inoltrata
|
|
a un host specifico (in questo caso, relay.domain.net) attraverso l'uso di
|
|
un record MX, ma la macchina di inoltro non si riconosce appartenente a
|
|
domain.net. Aggiungi domain.net in /etc/mail/local-host-names
|
|
[chiamato /etc/sendmail.cw nelle versioni precedenti alla 8.10]
|
|
(se stai usando FEATURE(use_cw_file)) oppure aggiungi <quote>Cw domain.net</quote>
|
|
in /etc/mail/sendmail.cf.</programlisting>
|
|
|
|
<para>Le FAQ di <application>sendmail</application> possono essere
|
|
trovate su <ulink url="http://www.sendmail.org/faq/"></ulink> ed
|
|
è raccomandato leggerle se vuoi <quote>perfezionare</quote>
|
|
la tua configurazione di posta.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<indexterm><primary>PPP</primary></indexterm>
|
|
|
|
<para>Come posso eseguire un server di posta su un host connesso in
|
|
dial-up tramite PPP?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Vuoi collegare ad Internet una macchina FreeBSD posta sulla tua
|
|
LAN. La macchina FreeBSD sarà un gateway di posta per la
|
|
LAN. La connessione PPP non è molto indicata per questo
|
|
scopo.</para>
|
|
|
|
<indexterm><primary>UUCP</primary></indexterm>
|
|
|
|
<indexterm><primary>record MX</primary></indexterm>
|
|
|
|
<para>Esistono almeno due modi per far questo. Un modo è
|
|
usare UUCP.</para>
|
|
|
|
<para>L'altro è trovare un server Internet a tempo pieno
|
|
che fornisca un servizio MX secondario per il tuo dominio.
|
|
Per esempio, se il dominio della tua società è
|
|
<hostid role="domainname">example.com</hostid> e il tuo fornitore
|
|
di servizi Internet ha attivato <hostid
|
|
role="domainname">example.net</hostid> per fornire il servizio
|
|
MX secondario al tuo dominio, allora:</para>
|
|
|
|
<programlisting>example.com. MX 10 example.com.
|
|
MX 20 example.net.</programlisting>
|
|
|
|
<para>Solo un host deve essere specificato come ultimo
|
|
ricevente (aggiungi <literal>Cw example.com</literal> in
|
|
<filename>/etc/mail/sendmail.cf</filename> su <hostid
|
|
role="domainname">example.com</hostid>).</para>
|
|
|
|
<para>Quando <command>sendmail</command> tenterà di consegnare
|
|
la posta proverà a connettersi alla tua connessione modem
|
|
(<hostid role="domainname">example.com</hostid>). Molto
|
|
probabilmente finirà in time out poiché non sei
|
|
online. In modo automatico <command>sendmail</command>
|
|
consegnerà la posta al server MX secondario, ad esempio il
|
|
tuo provider Internet (<hostid
|
|
role="domainname">example.net</hostid>). Il server MX secondario
|
|
tenterà periodicamente di collegarsi al tuo host per
|
|
consegnare la posta all'host MX primario (<hostid
|
|
role="domainname">example.com</hostid>).</para>
|
|
|
|
<para>Come script di login potresti usare qualcosa di simile a
|
|
questo:</para>
|
|
|
|
<programlisting>#!/bin/sh
|
|
# Mettimi in /usr/local/bin/pppmyisp
|
|
( sleep 60 ; /usr/sbin/sendmail -q ) &
|
|
/usr/sbin/ppp -direct pppmyisp</programlisting>
|
|
|
|
<para>Se hai intenzione di creare uno script di login separato per
|
|
un utente potresti usare <command>sendmail -qRexample.com</command>
|
|
nello script precedente. Questo forzerà a processare
|
|
immediatamente tutta la posta per <hostid
|
|
role="domainname">example.com</hostid> situata nella tua
|
|
coda.</para>
|
|
|
|
<para>Segue un'ulteriore sottigliezza della situazione:</para>
|
|
|
|
<para>Messaggio rubato dalla &a.isp;.</para>
|
|
|
|
<programlisting>> forniamo l'MX secondario per un cliente. Il cliente si connette
|
|
> automaticamente ai nostri servizi molte volte al giorno per ottenere la
|
|
> posta per il suo MX primario (non chiamiamo il suo server quando arriva
|
|
> posta per il suo dominio). Il nostro sendmail processa la posta in coda
|
|
> ogni 30 minuti. Attualmente il cliente sta 30 minuti online per assicurarsi
|
|
> che tutta la posta vada all'MX primario.
|
|
>
|
|
> Esiste un comando che permetta di configurare sendmail in modo tale da
|
|
> spedire tutta la posta in quel momento? Naturalmente l'utente non ha
|
|
> privilegi di root sulla nostra macchina.
|
|
|
|
Nella sezione <quote>privacy flags</quote> di sendmail.cf, c'è una
|
|
definizione Opgoaway,restrictqrun
|
|
|
|
Rimuovi restrictqrun per permettere a utenti non root di avviare l'elaborazione
|
|
della coda. Inoltre potresti risistemare gli MX. Noi siamo l'MX primario per i
|
|
nostri clienti come questo, e abbiamo definito:
|
|
|
|
# Se siamo il miglior MX per un host, prova direttamente invece di generare
|
|
# errori di configurazione locale.
|
|
OwTrue
|
|
|
|
In questo modo un server remoto consegnerà direttamente a te, senza
|
|
tentare di connettersi al cliente. Dopodiché tu spedisci al tuo cliente.
|
|
Funziona solamente con gli <quote>host</quote>, quindi hai bisogno che il tuo
|
|
cliente chiami la sua macchina di posta <quote>customer.com</quote> così come
|
|
<quote>nomehost.customer.com</quote> nel DNS.
|
|
Basta mettere un record A nel DNS per <quote>customer.com</quote>.</programlisting>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Perché continuo a ottenere l'errore <errorname>Relaying
|
|
Denied</errorname> quando spedisco posta da altri host?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Con l'installazione di default di FreeBSD,
|
|
<application>sendmail</application> viene configurato in modo tale
|
|
da permettere di spedire posta solamente dall'host sul quale
|
|
è in esecuzione. Per esempio, se c'è installato un
|
|
server <acronym>POP</acronym>, allora gli utenti saranno in grado di
|
|
controllare la posta da scuola, dal lavoro, o da altre postazioni
|
|
remote ma tuttavia non potranno inviare messaggi di posta
|
|
all'esterno da postazioni esterne. Tipicamente, pochi istanti dopo
|
|
il tentativo, verrà spedita una email da
|
|
<application>MAILER-DAEMON</application> con il messaggio di errore
|
|
<errorname>5.7 Relaying Denied</errorname>.</para>
|
|
|
|
<para>Esistono diversi modi per aggirare questo problema. La
|
|
soluzione più semplice è mettere il proprio
|
|
indirizzo assegnato dall'ISP nel file che contiene i domini
|
|
a cui viene permesso di effettuare il relay,
|
|
<filename>/etc/mail/relay-domains</filename>. Un modo veloce
|
|
per far questo può essere:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo "your.isp.example.com" > /etc/mail/relay-domains</userinput></screen>
|
|
|
|
<para>Dopo aver creato o modificato questo file devi riavviare
|
|
<application>sendmail</application>. Questa soluzione è
|
|
ideale se sei un amministratore del server e non desideri
|
|
spedire posta localmente, o se vorresti usare un client/sistema
|
|
punta e clicca su un'altra macchina o perfino su un altro ISP.
|
|
Inoltre è molto utile se hai solo uno o due account
|
|
di posta configurati. Se ci sono molti indirizzi da aggiungere,
|
|
puoi semplicemente aprire questo file con il tuo editor di testo
|
|
preferito e aggiungere i domini, uno per riga:</para>
|
|
|
|
<programlisting>your.isp.example.com
|
|
other.isp.example.net
|
|
users-isp.example.org
|
|
www.example.org</programlisting>
|
|
|
|
<para>Ora l'invio della posta tramite il tuo sistema, da parte di
|
|
qualche host in lista (a condizione che l'utente abbia un account
|
|
sul tuo sistema), avrà successo. Questo è un buon
|
|
metodo per permettere agli utenti di spedire posta dal tuo sistema
|
|
in modo remoto senza dare la possibilità a qualcuno di
|
|
spedire SPAM tramite il tuo sistema.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-advanced">
|
|
<title>Argomenti Avanzati</title>
|
|
|
|
<para>La seguente sezione tratta argomenti più complicati come
|
|
l'organizzazione e la configurazione della posta per tutto il tuo
|
|
dominio.</para>
|
|
|
|
<sect2 id="mail-config">
|
|
<title>Configurazione di Base</title>
|
|
|
|
<indexterm>
|
|
<primary>email</primary>
|
|
<secondary>configurazione</secondary>
|
|
</indexterm>
|
|
|
|
<para>Dalla macchina FreeBSD, dovresti essere in grado di spedire posta a
|
|
host esterni a condizione di aver sistemato
|
|
<filename>/etc/resolv.conf</filename> o di avere in esecuzione un
|
|
proprio server dei nomi. Se vuoi che la posta per il tuo host sia
|
|
consegnata all'MTA (es., <application>sendmail</application>) in
|
|
esecuzione sul tuo host FreeBSD, esistono due metodi per farlo:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Eseguire un proprio server dei nomi e avere un proprio dominio.
|
|
Per esempio, <hostid role="domainname">FreeBSD.org</hostid></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ricevere la posta direttamente sul tuo host. Questo viene fatto
|
|
consegnando la posta direttamente al nome DNS corrente della tua
|
|
macchina. Per esempio, <hostid
|
|
role="fqdn">example.FreeBSD.org</hostid>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<indexterm><primary>SMTP</primary></indexterm>
|
|
|
|
<para>Indipendentemente dal metodo scelto, affinché la posta
|
|
possa essere consegnata direttamente al tuo host, devi avere un
|
|
indirizzo IP statico permanente (non un indirizzo dinamico, come avviene
|
|
nella maggior parte delle configurazioni dial-up di PPP). Se sei
|
|
dietro a un firewall, devi abilitare il traffico SMTP in entrata. Se
|
|
vuoi ricevere la posta direttamente sul tuo host, devi verificare una di
|
|
queste due cose:</para>
|
|
|
|
<itemizedlist>
|
|
<indexterm><primary>record MX</primary></indexterm>
|
|
|
|
<listitem>
|
|
<para>Assicurati che il record MX (con il numero più basso)
|
|
relativo al tuo host nel tuo DNS punti all'indirizzo IP del tuo
|
|
host.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Assicurati che non ci siano record MX nel tuo DNS per il tuo
|
|
host.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Entrambi questi due metodi ti permettono di ricevere posta
|
|
direttamente sul tuo host.</para>
|
|
|
|
<para>Prova questi comandi:</para>
|
|
|
|
<screen>&prompt.root; <userinput>hostname</userinput>
|
|
example.FreeBSD.org
|
|
&prompt.root; <userinput>host example.FreeBSD.org</userinput>
|
|
example.FreeBSD.org has address 204.216.27.XX</screen>
|
|
|
|
<para>Se ottieni un risultato simile, l'invio diretto a
|
|
<email role="nolink">yourlogin@example.FreeBSD.org</email> dovrebbe
|
|
funzionare senza problemi (assumendo che
|
|
<application>sendmail</application> sia correttamente in esecuzione
|
|
su <hostid role="fqdn">example.FreeBSD.org</hostid>).</para>
|
|
|
|
<para>Se invece vedi qualcosa di simile a questo:</para>
|
|
|
|
<screen>&prompt.root; <userinput>host example.FreeBSD.org</userinput>
|
|
example.FreeBSD.org has address 204.216.27.XX
|
|
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen>
|
|
|
|
<para>Tutta la posta spedita al tuo host (<hostid
|
|
role="fqdn">example.FreeBSD.org</hostid>) finirà per essere
|
|
raccolta su <hostid>hub</hostid> sotto lo stesso nome utente invece
|
|
di essere spedita direttamente al tuo host.</para>
|
|
|
|
<para>L'informazione precedente viene gestita dal tuo server DNS. Il
|
|
record DNS che riporta l'informazione di instradamento della posta
|
|
è l'elemento <emphasis>M</emphasis>ail
|
|
e<emphasis>X</emphasis>change. Se non esistono record MX, la posta
|
|
sarà consegnata direttamente all'host attraverso il suo
|
|
indirizzo IP.</para>
|
|
|
|
<para>L'elemento MX per <hostid role="fqdn">freefall.FreeBSD.org</hostid>
|
|
in passato assomigliava a questo:</para>
|
|
|
|
<programlisting>freefall MX 30 mail.crl.net
|
|
freefall MX 40 agora.rdrop.com
|
|
freefall MX 10 freefall.FreeBSD.org
|
|
freefall MX 20 who.cdrom.com</programlisting>
|
|
|
|
<para>Come puoi vedere, <hostid>freefall</hostid> aveva molti elementi MX.
|
|
Il numero MX più basso è l'host che, se disponibile,
|
|
riceve direttamente la posta; se per qualche ragione questo non è
|
|
accessibile, gli altri (qualche volta chiamati
|
|
<quote>MX di backup</quote>) accettano i messaggi temporaneamente,
|
|
e li passano all'host attivo con numero inferiore, fino all'host
|
|
con il numero più basso.</para>
|
|
|
|
<para>I server MX alternativi dovrebbero avere connessioni Internet
|
|
indipendenti dalla propria al fine di risultare più utili.
|
|
Il tuo ISP o un tuo amico non dovrebbero avere problemi
|
|
a darti questo servizio.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-domain">
|
|
<title>Posta per il Tuo Dominio</title>
|
|
|
|
<para>Per organizzare un server di posta hai bisogno che la posta inviata
|
|
alle stazioni di lavoro sia ricevuta direttamente sul server di posta.
|
|
Sostanzialmente, hai bisogno di <quote>richiedere</quote> che la posta
|
|
per i nomi host del tuo dominio (in questo caso <hostid
|
|
role="fqdn">*.FreeBSD.org</hostid>) sia deviata al server di posta in
|
|
modo tale che i tuoi utenti possono raccogliere la loro posta sul
|
|
server di posta principale.</para>
|
|
|
|
<indexterm><primary>DNS</primary></indexterm>
|
|
|
|
<para>Per rendere la vita più facile, dovrebbe esistere su
|
|
entrambe le macchine un account utente con lo stesso <emphasis>nome
|
|
utente</emphasis>. Usa &man.adduser.8; per farlo.</para>
|
|
|
|
<para>La macchina server di posta che utilizzerai deve essere
|
|
designata come la macchina che scambia la posta per tutte le postazioni
|
|
sulla rete. Questo viene realizzato attraverso la configurazione del
|
|
DNS in modo simile a quanto segue:</para>
|
|
|
|
<programlisting>example.FreeBSD.org A 204.216.27.XX ; Stazione di lavoro
|
|
MX 10 hub.FreeBSD.org ; Server di posta</programlisting>
|
|
|
|
<para>In questo modo la posta per la stazione di lavoro sarà
|
|
reindirizzata al server di posta senza preoccuparsi dove punti il
|
|
record A. La posta viene inviata all'host MX.</para>
|
|
|
|
<para>Non puoi effettuare queste modifiche da solo a meno che non hai in
|
|
esecuzione un tuo server DNS. Se non puoi eseguire un server DNS,
|
|
consulta il tuo ISP o chiunque ti fornisca il servizio DNS.</para>
|
|
|
|
<para>Se stai facendo dell'hosting di posta elettronica virtuale, le
|
|
seguenti informazioni ti torneranno utili. In questo esempio, assumiamo
|
|
che hai un cliente con un proprio dominio, in questo caso <hostid
|
|
role="domainname">customer1.org</hostid>, e vuoi che tutta la posta
|
|
per <hostid role="domainname">customer1.org</hostid> sia spedita alla
|
|
tua macchina server di posta <hostid
|
|
role="fqdn">mail.myhost.com</hostid>.
|
|
L'elemento nel tuo DNS dovrebbe assomigliare a questo:</para>
|
|
|
|
<programlisting>customer1.org MX 10 mail.myhost.com</programlisting>
|
|
|
|
<para><emphasis>Non</emphasis> hai bisogno di un record A per <hostid
|
|
role="domainname">customer1.org</hostid> se vuoi solamente gestire
|
|
la posta per tale dominio</para>
|
|
|
|
<note>
|
|
<para>Sii consapevole che un ping su <hostid
|
|
role="domainname">customer1.org</hostid> non funzionerà se
|
|
non esiste un record A per tale dominio.</para>
|
|
</note>
|
|
|
|
<para>L'ultima cosa che devi fare è indicare a
|
|
<application>sendmail</application>, posto sulla tua macchina server,
|
|
per quali domini e/o host deve accettare posta. Esistono
|
|
differenti modi per farlo. I seguenti due funzionano entrambi:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Se usi <literal>FEATURE(use_cw_file)</literal> aggiungi gli host
|
|
al tuo file <filename>/etc/mail/local-host-names</filename>. Se usi
|
|
una versione di <application>sendmail</application> precedente
|
|
alla 8.10, il file da usare è
|
|
<filename>/etc/sendmail.cw</filename>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Se usi la versione di <application>sendmail</application> 8.10
|
|
o superiore aggiungi la riga <literal>Cwyour.host.com</literal> al
|
|
tuo <filename>/etc/sendmail.cf</filename> o
|
|
<filename>/etc/mail/sendmail.cf</filename>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="SMTP-UUCP">
|
|
<title>SMTP con UUCP</title>
|
|
|
|
<para>La configurazione di <application>sendmail</application> di default
|
|
su FreeBSD è designata per siti che si collegano direttamente a
|
|
Internet. I siti che vogliono scambiarsi lo loro posta tramite
|
|
UUCP devono installare un altro file di configurazione di
|
|
<application>sendmail</application>.</para>
|
|
|
|
<para>Editare a mano il file <filename>/etc/mail/sendmail.cf</filename>
|
|
è materia da esperti. La versione 8 di
|
|
<application>sendmail</application> genera file di configurazione tramite
|
|
la preelaborazione di &man.m4.1;, dove l'attuale configurazione avviene
|
|
su un livello di astrazione più alto. I file di configurazione
|
|
di &man.m4.1; possono essere trovati sotto
|
|
<filename>/usr/share/sendmail/cf</filename>. Il file
|
|
<filename>README</filename> nella directory <filename>cf</filename>
|
|
può servire come introduzione di base alla configurazione
|
|
di &man.m4.1;.</para>
|
|
|
|
<para>Il miglior modo per supportare la consegna UUCP è usare la
|
|
caratteristica <literal>mailertable</literal>. Questa crea un database
|
|
che <application>sendmail</application> può usare per prendere le
|
|
decisioni di instradamento.</para>
|
|
|
|
<para>Prima di tutto, devi creare il tuo file <filename>.mc</filename>.
|
|
La directory <filename>/usr/share/sendmail/cf/cf</filename>
|
|
contiene alcuni esempi. Assumendo che tu abbia chiamato il tuo file
|
|
<filename>foo.mc</filename>, tutto quello che devi fare per convertirlo
|
|
in un valido <filename>sendmail.cf</filename> è:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /etc/mail</userinput>
|
|
&prompt.root; <userinput>make foo.cf</userinput>
|
|
&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
|
|
|
|
<para>Un tipico file <filename>.mc</filename> potrebbe assomigliare a
|
|
questo:</para>
|
|
|
|
<programlisting>VERSIONID(`<replaceable>Il tuo numero di versione</replaceable>') OSTYPE(bsd4.4)
|
|
|
|
FEATURE(accept_unresolvable_domains)
|
|
FEATURE(nocanonify)
|
|
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
|
|
|
|
define(`UUCP_RELAY', <replaceable>il.tuo.relay.uucp</replaceable>)
|
|
define(`UUCP_MAX_SIZE', 200000)
|
|
define(`confDONT_PROBE_INTERFACES')
|
|
|
|
MAILER(local)
|
|
MAILER(smtp)
|
|
MAILER(uucp)
|
|
|
|
Cw <replaceable>il.tuo.nome.host.alias</replaceable>
|
|
Cw <replaceable>iltuonodouucp.UUCP</replaceable></programlisting>
|
|
|
|
<para>Le righe contenenti le caratteristiche
|
|
<literal>accept_unresolvable_domains</literal>,
|
|
<literal>nocanonify</literal>, and
|
|
<literal>confDONT_PROBE_INTERFACES</literal> impediscono l'uso del DNS
|
|
durante la consegna della posta. La clausola
|
|
<literal>UUCP_RELAY</literal> è necessaria per supportare la
|
|
consegna UUCP. Metti semplicemente un nome host di Internet che è
|
|
in grado di gestire indirizzi di pseudo-domini .UUCP; molto
|
|
probabilmente, metterai il relay del tuo ISP.</para>
|
|
|
|
<para>Una volta fatto questo, hai bisogno del file
|
|
<filename>/etc/mail/mailertable</filename>. Se hai solo un collegamento
|
|
per l'esterno che viene usato per tutta la tua posta, la seguente riga
|
|
sarà sufficiente:</para>
|
|
|
|
<programlisting>#
|
|
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
|
|
. uucp-dom:<replaceable>il.tuo.relay.uucp</replaceable></programlisting>
|
|
|
|
<para>Un esempio più complesso potrebbe essere simile a
|
|
questo:</para>
|
|
|
|
<programlisting>#
|
|
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
|
|
#
|
|
horus.interface-business.de uucp-dom:horus
|
|
.interface-business.de uucp-dom:if-bus
|
|
interface-business.de uucp-dom:if-bus
|
|
.heep.sax.de smtp8:%1
|
|
horus.UUCP uucp-dom:horus
|
|
if-bus.UUCP uucp-dom:if-bus
|
|
. uucp-dom:</programlisting>
|
|
|
|
<para>Le prime tre righe gestiscono dei casi speciali dove la posta
|
|
indirizzata a quel dominio non dovrebbe essere spedita tramite
|
|
l'instradamento di default, ma piuttosto tramite alcuni UUCP di confine
|
|
al fine di <quote>accorciare</quote> il percorso di consegna. La quarta
|
|
riga gestisce la posta per il dominio Ethernet locale la quale può
|
|
essere consegnata usando SMTP. Infine, gli UUCP di confine sono
|
|
menzionati con la notazione a pseudo-dominio .UUCP, per permettere a un
|
|
<literal><replaceable>uucp-diconfine
|
|
</replaceable>!<replaceable>destinatario</replaceable></literal>
|
|
di sovrascrivere le regole di default. L'ultima riga è sempre un
|
|
singolo punto, a cui corrisponde ogni altra cosa e che rappresenta la
|
|
consegna UUCP tramite l'UUCP di confine che viene usato come il tuo
|
|
gateway di posta universale verso il mondo. Tutti i nomi dei nodi dietro
|
|
alla parola <literal>uucp-dom:</literal> devono essere validi UUCP di
|
|
confine, come puoi verificare usando il comando
|
|
<literal>uuname</literal>.</para>
|
|
|
|
<para>Si ricorda che questo file deve essere convertito in un file database
|
|
DBM prima di essere usato. La riga di comando che realizza ciò
|
|
è messa come un commento in cima al file
|
|
<filename>mailertable</filename>.
|
|
Devi sempre eseguire quel comando ogni volta che modifichi il file
|
|
<filename>mailertable</filename>.</para>
|
|
|
|
<para>Ultimo suggerimento: se non sei sicuro che alcuni instradamenti di
|
|
posta potrebbero funzionare, ricordati l'opzione <option>-bt</option>
|
|
di <application>sendmail</application>. Questa avvia
|
|
<application>sendmail</application> in <emphasis>modalità test
|
|
indirizzo</emphasis>; digita semplicemente <literal>3,0</literal>,
|
|
seguito dall'indirizzo su cui vuoi verificare l'instradamento della posta.
|
|
L'ultima riga ti informa quale agente di posta interno è stato
|
|
utilizzato, quale host di destinazione questo agente contatterà, e
|
|
l'indirizzo (molto probabilmente tradotto). Lascia questa modalità
|
|
digitando <keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>D</keycap>
|
|
</keycombo>.</para>
|
|
|
|
<screen>&prompt.user; <userinput>sendmail -bt</userinput>
|
|
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
|
|
Enter <ruleset> <address>
|
|
<prompt>></prompt> <userinput>3,0 foo@example.com</userinput>
|
|
canonify input: foo @ example . com
|
|
...
|
|
parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo < @ example . com . >
|
|
<prompt>></prompt> <userinput>^D</userinput></screen>
|
|
</sect1>
|
|
|
|
<sect1 id="outgoing-only">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Bill</firstname>
|
|
|
|
<surname>Moran</surname>
|
|
|
|
<contrib>Contributo di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Configurazione del Sistema di Posta solo per l'Invio</title>
|
|
|
|
<para>Esistono molti casi in cui vorresti avere la possibilità di
|
|
inviare la posta attraverso un relay. Alcuni esempi sono:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Il tuo computer è una macchina desktop, tuttavia vorresti
|
|
essere in grado di usare programmi come &man.send-pr.1;. Per fare
|
|
ciò, dovresti usare il relay di posta del tuo ISP.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Il computer è un server che non gestisce localmente la
|
|
posta, ma demanda la gestione di tutta la posta ad un relay
|
|
inoltrandola in modo opportuno.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>La maggior parte degli <acronym>MTA</acronym> sono in grado di
|
|
soddisfare questa particolare richiesta. Sfortunatamente, configurare
|
|
in modo opportuno un <acronym>MTA</acronym> standard affinchè
|
|
permetta solo l'inoltro della posta può essere un compito molto
|
|
oneroso. Usare applicazioni come <application>sendmail</application> e
|
|
<application>postfix</application> per questo fine risulta spesso troppo
|
|
eccessivo.</para>
|
|
|
|
<para>Inoltre, alcuni servizi di accesso a Internet prevedono nel contratto
|
|
l'impossibilità da parte del cliente di usare un <quote>server di
|
|
posta</quote>.</para>
|
|
|
|
<para>Il modo più facile per colmare questa necessità è
|
|
installare il port <filename role="package">mail/ssmtp</filename>.
|
|
Esegui i seguenti comandi come <username>root</username>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
|
|
&prompt.root; <userinput>make install replace clean</userinput></screen>
|
|
|
|
<para>Una volta installato, il port <filename
|
|
role="package">mail/ssmtp</filename> può essere configurato con
|
|
quattro righe nel file
|
|
<filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para>
|
|
|
|
<programlisting>root=il_tuo_indirizzo_di_posta_reale
|
|
mailhub=mail.esempio.com
|
|
rewriteDomain=esempio.com
|
|
hostname=_HOSTNAME_</programlisting>
|
|
|
|
<para>Assicurati di usare il tuo indirizzo di posta per la variabile
|
|
<username>root</username>. Inserisci il server di posta di inoltro del
|
|
tuo ISP al posto di <hostid role="fqdn">mail.esempio.com</hostid> (alcuni
|
|
ISP lo chiamano come il <quote>server di posta in uscita</quote> o il
|
|
<quote>server SMTP</quote>).</para>
|
|
|
|
<para>Assicurati di disabilitare <application>sendmail</application>,
|
|
incluso il servizio di posta in uscita. Guarda la
|
|
<xref linkend="mail-disable-sendmail"/> per maggiori dettagli.</para>
|
|
|
|
<para>Il port <filename role="package">mail/ssmtp</filename> ha altre
|
|
opzioni disponibili. Guarda il file di configurazione di esempio
|
|
<filename>/usr/local/etc/ssmtp</filename> e la pagina man di
|
|
<application>ssmtp</application> per alcuni esempi e maggiori
|
|
informazioni.</para>
|
|
|
|
<para>Configurando <application>ssmtp</application> in questo modo
|
|
permetterai ai programmi sul tuo computer che necessitano di spedire posta
|
|
di funzionare correttamente, senza violare le politiche del tuo ISP e
|
|
senza permettere che il tuo computer sia utilizzato per l'inoltro di
|
|
spam.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="SMTP-dialup">
|
|
<title>Uso della Posta con una Connessione Dialup</title>
|
|
|
|
<para>Se hai un indirizzo IP statico, non hai bisogno di adattare nulla alla
|
|
configurazione di default. Imposta come nome host il nome Internet che
|
|
ti è stato assegnato e <application>sendmail</application>
|
|
farà il resto.</para>
|
|
|
|
<para>Se hai un indirizzo IP assegnato in modo dinamico e usi una
|
|
connessione PPP dialup per Internet, allora probabilmente avrai una
|
|
casella di posta sul server di posta del tuo ISP. Assumiamo che il
|
|
dominio del tuo ISP sia <hostid role="domainname">example.net</hostid>,
|
|
che il tuo nome utente sia <username>user</username>, che hai chiamato
|
|
la tua macchina <hostid role="fqdn">bsd.home</hostid>, e che il tuo ISP
|
|
ti ha detto che puoi usare <hostid
|
|
role="fqdn">relay.example.net</hostid> come relay per la posta.</para>
|
|
|
|
<para>Per ricevere la posta dalla tua casella, devi installare un agente
|
|
di ricupero. L'utility <application>fetchmail</application> è
|
|
una buona scelta poichè supporta diversi tipi di protocolli.
|
|
Questo programma è disponibile come package o dalla collezione dei
|
|
port (<filename role="package">mail/fetchmail</filename>).
|
|
Di solito, il tuo <acronym>ISP</acronym> fornirà
|
|
<acronym>POP</acronym>. Se stai usando <acronym>PPP</acronym> a livello
|
|
utente, puoi prelevare automaticamente la tua posta quando viene stabilita
|
|
una connessione a Internet mettendo la seguente riga in
|
|
<filename>/etc/ppp/ppp.linkup</filename>:</para>
|
|
|
|
<programlisting>MYADDR:
|
|
!bg su user -c fetchmail</programlisting>
|
|
|
|
<para>Se stai usando <application>sendmail</application> (come mostrato
|
|
sotto) per consegnare posta ad account non locali, probabilmente vorrai
|
|
che <application>sendmail</application> processi la tua coda di posta
|
|
non appena viene stabilita una connessione ad Internet. Per far questo,
|
|
metti il seguente comando dopo il comando <command>fetchmail</command> in
|
|
<filename>/etc/ppp/ppp.linkup</filename>.</para>
|
|
|
|
<programlisting>!bg su user -c "sendmail -q"</programlisting>
|
|
|
|
<para>Assumiamo che tu abbia un account per <username>user</username> su
|
|
<hostid role="fqdn">bsd.home</hostid>. Nella directory home di
|
|
<username>user</username> su <hostid role="fqdn">bsd.home</hostid>, crea
|
|
il file <filename>.fetchmailrc</filename> così composto:</para>
|
|
|
|
<programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
|
|
|
|
<para>Questo file non dovrebbe essere leggibile da nessuno ad eccezione di
|
|
<username>user</username> poichè contiene la password
|
|
<literal>MySecret</literal>.</para>
|
|
|
|
<para>Per spedire la posta con il corretto header <literal>from:</literal>,
|
|
devi indicare a <application>sendmail</application> di usare
|
|
<email>user@example.net</email> piuttosto che
|
|
<email role="nolink">user@bsd.home</email>. Inoltre vorrai indicare a
|
|
<application>sendmail</application> di spedire tutta la posta tramite
|
|
<hostid role="fqdn">relay.example.net</hostid>, permettendo una veloce
|
|
trasmissione della posta.</para>
|
|
|
|
<para>Il seguente file <filename>.mc</filename> dovrebbe essere
|
|
sufficiente:</para>
|
|
|
|
<programlisting>VERSIONID(`bsd.home.mc version 1.0')
|
|
OSTYPE(bsd4.4)dnl
|
|
FEATURE(nouucp)dnl
|
|
MAILER(local)dnl
|
|
MAILER(smtp)dnl
|
|
Cwlocalhost
|
|
Cwbsd.home
|
|
MASQUERADE_AS(`example.net')dnl
|
|
FEATURE(allmasquerade)dnl
|
|
FEATURE(masquerade_envelope)dnl
|
|
FEATURE(nocanonify)dnl
|
|
FEATURE(nodns)dnl
|
|
define(`SMART_HOST', `relay.example.net')
|
|
Dmbsd.home
|
|
define(`confDOMAIN_NAME',`bsd.home')dnl
|
|
define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
|
|
|
|
<para>Fai riferimento alla precedente sezione per i dettagli su come
|
|
trasformare questo file <filename>.mc</filename> nel file
|
|
<filename>sendmail.cf</filename>. Inoltre, non dimenticarti di riavviare
|
|
<application>sendmail</application> dopo aver aggiornato il file
|
|
<filename>sendmail.cf</filename>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="SMTP-Auth">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>James</firstname>
|
|
|
|
<surname>Gorham</surname>
|
|
|
|
<contrib>Scritto da </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Autenticazione SMTP</title>
|
|
|
|
<para>Avere un'Autenticazione <acronym>SMTP</acronym> operativa sul tuo
|
|
server di posta porta numerosi benefici. L'Autenticazione
|
|
<acronym>SMTP</acronym> aggiunge un ulteriore strato di sicurezza a
|
|
<application>sendmail</application>, e ha il vantaggio di dare agli
|
|
utenti mobili che cambiano host la possibilità di usare lo stesso
|
|
server di posta senza avere la necessità di riconfigurare ogni
|
|
volta i settaggi dei loro programmi client di posta.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Installa dai port <filename
|
|
role="package">security/cyrus-sasl2</filename>. Puoi trovare questo
|
|
port in <filename role="package">security/cyrus-sasl2</filename>.
|
|
Il port <filename role="package">security/cyrus-sasl2</filename>
|
|
ha diverse opzioni di compilazione. Per il metodo di
|
|
autenticazione SMTP che useremo, assicurati che l'opzione
|
|
<option>LOGIN</option> non sia disabilitata.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Dopo aver installato <filename
|
|
role="package">security/cyrus-sasl2</filename>, edita
|
|
<filename>/usr/local/lib/sasl2/Sendmail.conf</filename>
|
|
(o crealo se non esiste) e aggiungi la seguente riga:</para>
|
|
|
|
<programlisting>pwcheck_method: saslauthd</programlisting>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Quindi, installa <filename
|
|
role="package">security/cyrus-sasl2-saslauthd</filename>,
|
|
edita <filename>/etc/rc.conf</filename> aggiungendo la
|
|
riga seguente:</para>
|
|
|
|
<programlisting>saslauthd_enable="YES"</programlisting>
|
|
|
|
<para>ed infine avvia il demone saslauthd:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/saslauthd start</userinput></screen>
|
|
|
|
<para>Questo demone serve come mediatore con
|
|
<application>sendmail</application> per autenticare gli utenti tramite
|
|
il proprio database <filename>passwd</filename> di FreeBSD. Questo
|
|
procedimento evita di creare un nuovo set di nomi utenti e password
|
|
per ogni utente che necessita di usare l'autenticazione
|
|
<acronym>SMTP</acronym>, mantenendo la password di login uguale alla
|
|
password di posta.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ora aggiungi le seguenti righe in
|
|
<filename>/etc/make.conf</filename>:</para>
|
|
|
|
<programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
|
|
SENDMAIL_LDFLAGS=-L/usr/local/lib
|
|
SENDMAIL_LDADD=-lsasl2</programlisting>
|
|
|
|
<para>Queste righe daranno, in fase di compilazione di
|
|
<application>sendmail</application>, le giuste opzioni di
|
|
configurazione per linkare a <filename
|
|
role="package">cyrus-sasl2</filename>. Assicurati che <filename
|
|
role="package">cyrus-sasl2</filename> sia installato prima di
|
|
ricompilare <application>sendmail</application>.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ricompila <application>sendmail</application> eseguendo i
|
|
seguenti comandi:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/src/lib/libsmutil</userinput>
|
|
&prompt.root; <userinput>make cleandir && make obj && make</userinput>
|
|
&prompt.root; <userinput>cd /usr/src/lib/libsm</userinput>
|
|
&prompt.root; <userinput>make cleandir && make obj && make</userinput>
|
|
&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
|
|
&prompt.root; <userinput>make cleandir && make obj && make && make install</userinput></screen>
|
|
|
|
<para>Se <filename>/usr/src</filename> non ha subito enormi cambiamenti
|
|
e se le librerie condivise di cui si ha bisogno sono disponibili, la
|
|
compilazione di <application>sendmail</application> non dovrebbe
|
|
avere problemi.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Dopo aver compilato e reinstallato
|
|
<application>sendmail</application>, edita il tuo file
|
|
<filename>/etc/mail/freebsd.mc</filename> (o qualunque altro file che
|
|
usi come file <filename>.mc</filename>. Molti amministratori
|
|
preferiscono usare, per unicità, l'output di &man.hostname.1;
|
|
come nome del file <filename>.mc</filename>). Aggiungi le seguenti
|
|
righe:</para>
|
|
|
|
<programlisting>dnl set SASL options
|
|
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
|
|
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlisting>
|
|
|
|
<para>Queste opzioni configurano i vari metodi che
|
|
<application>sendmail</application> ha a disposizione per autenticare
|
|
gli utenti. Se vuoi usare un metodo diverso da
|
|
<application>pwcheck</application>, guarda la documentazione inclusa
|
|
nel package.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Per finire, esegui &man.make.1; in <filename>/etc/mail</filename>.
|
|
Questo eseguirà il tuo nuovo file <filename>.mc</filename> e
|
|
creerà un file <filename>.cf</filename> di nome
|
|
<filename>freebsd.cf</filename> (o con il nome che hai usato per il
|
|
file <filename>.mc</filename>). Quindi esegui il comando
|
|
<command>make install restart</command>, che copierà il file in
|
|
<filename>sendmail.cf</filename>, e riavvierà correttamente
|
|
<application>sendmail</application>. Per maggiori informazioni su
|
|
questa procedura, dovresti prendere come riferimento
|
|
<filename>/etc/mail/Makefile</filename>.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Se tutto è andato per il verso giusto, dovresti essere in grado
|
|
di inviare un messaggio di prova dopo aver inserito le informazioni di
|
|
login nel programma client di posta. Per ulteriori indagini, setta il
|
|
<option>LogLevel</option> di <application>sendmail</application> a 13 e
|
|
guarda il file <filename>/var/log/maillog</filename> per eventuali
|
|
errori.</para>
|
|
|
|
<para>Per ulteriori informazioni, guarda la pagina riguardante <ulink
|
|
url="http://www.sendmail.org/~ca/email/auth.html">l'autenticazione
|
|
<acronym>SMTP</acronym></ulink> di
|
|
<application>sendmail</application>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-agents">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Marc</firstname>
|
|
|
|
<surname>Silver</surname>
|
|
|
|
<contrib>Contributo di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Mail User Agent</title>
|
|
|
|
<indexterm>
|
|
<primary>Mail User Agent</primary>
|
|
</indexterm>
|
|
|
|
<para>Un Mail User Agent (<acronym>MUA</acronym>) è un'applicazione
|
|
che viene usata per inviare e ricevere la posta elettronica. Man mano
|
|
che la posta <quote>evolve</quote> e diventa più complessa,
|
|
gli <acronym>MUA</acronym> diventano sempre più potenti nel modo
|
|
in cui essi interagiscono con la posta elettronica; ciò fornisce
|
|
agli utenti maggiori funzionalità e flessibilità.
|
|
&os; supporta svariati mail user agent, che possono essere facilmente
|
|
installati usando la <link linkend="ports">FreeBSD Ports
|
|
Collection</link>. Gli utenti possono scegliere tra client di posta
|
|
con un'interfaccia grafica come <application>evolution</application> o
|
|
<application>balsa</application>, client basati sulla console come
|
|
<application>mutt</application>, <application>pine</application>
|
|
e <command>mail</command>, oppure interfacce web utilizzate da alcune
|
|
grandi organizzazioni.</para>
|
|
|
|
<sect2 id="mail-command">
|
|
<title>mail</title>
|
|
|
|
<para>&man.mail.1; è il Mail User Agent (<acronym>MUA</acronym>)
|
|
di default su &os;. Si tratta di un <acronym>MUA</acronym> basato sulla
|
|
console che offre tutte le funzionalità di base richieste per
|
|
inviare e ricevere messaggi di posta testuali, anche se è
|
|
limitato nelle capacità di gestione degli allegati, e può
|
|
solo supportare caselle di posta locali.</para>
|
|
|
|
<para>Sebbene <command>mail</command> non supporta in modo nativo
|
|
interazioni con server <acronym>POP</acronym> o <acronym>IMAP</acronym>,
|
|
queste caselle di posta possono essere scaricate nel file
|
|
<filename>mbox</filename> locale usando un'applicazione come
|
|
<application>fetchmail</application>, che verrà discussa
|
|
più tardi in questo capitolo (<xref
|
|
linkend="mail-fetchmail"/>).</para>
|
|
|
|
<para>Al fine di inviare o ricevere la posta, invoca semplicemente il
|
|
comando <command>mail</command> come nel seguente esempio:</para>
|
|
|
|
<screen>&prompt.user; <userinput>mail</userinput></screen>
|
|
|
|
<para>I contenuti delle caselle di posta degli utenti in
|
|
<filename class="directory">/var/mail</filename> sono letti
|
|
automaticamente dall'utility <command>mail</command>. Se la casella
|
|
di posta è vuota, l'utility esce con un messaggio che indica che
|
|
non è stato trovato nessun messaggio di posta. Una volta che
|
|
la casella di posta è stata letta, viene avviata l'interfaccia
|
|
dell'applicazione, e vengono visualizzati una lista di messaggi.
|
|
I messaggi sono numerati in modo automatico, come nel seguente
|
|
esempio:</para>
|
|
|
|
<screen>Mail version 8.1 6/6/93. Type ? for help.
|
|
"/var/mail/marcs": 3 messages 3 new
|
|
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
|
|
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
|
|
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen>
|
|
|
|
<para>I messaggi possono ora essere letti usando il comando
|
|
<keycap>t</keycap> di <command>mail</command>, seguito dal numero
|
|
del messaggio che si vuole visualizzare. In questo esempio, leggeremo
|
|
il primo messaggio di posta:</para>
|
|
|
|
<screen>& <userinput>t 1</userinput>
|
|
Message 1:
|
|
From root@localhost Mon Mar 8 14:05:52 2004
|
|
X-Original-To: marcs@localhost
|
|
Delivered-To: marcs@localhost
|
|
To: marcs@localhost
|
|
Subject: test
|
|
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
|
|
From: root@localhost (Charlie Root)
|
|
|
|
Questo è un messaggio di prova, per favore rispondi se lo ricevi.</screen>
|
|
|
|
<para>Come puoi vedere nell'esempio precedente, il tasto
|
|
<keycap>t</keycap> visualizza il messaggio completo di tutte le sue
|
|
intestazioni (header). Per visualizzare ancora la lista dei messaggi,
|
|
puoi usare il tasto <keycap>h</keycap>.</para>
|
|
|
|
<para>Se il messaggio di posta richiede una replica, puoi usare
|
|
<command>mail</command> per rispondere, usando il tasto
|
|
<keycap>R</keycap> o <keycap>r</keycap> di <command>mail</command>.
|
|
Il tasto <keycap>R</keycap> dice a <command>mail</command> di rispondere
|
|
solamente al mittente del messaggio, mentre <keycap>r</keycap> replica
|
|
non solo al mittente, ma anche agli altri eventuali destinatari del
|
|
messaggio originario. Puoi anche impartire quei comandi con un
|
|
suffisso relativo al numero di messaggio per il quale intendi
|
|
rispondere. Fatto ciò, inserisci la tua risposta, segnalando la
|
|
fine del messaggio con un singolo punto (<keycap>.</keycap>) su una
|
|
nuova linea. Ecco un esempio:</para>
|
|
|
|
<screen>& <userinput>R 1</userinput>
|
|
To: root@localhost
|
|
Subject: Re: test
|
|
|
|
<userinput>Thank you, I did get your email.
|
|
.</userinput>
|
|
EOT</screen>
|
|
|
|
<para>Per inviare un nuovo messaggio, puoi usare il tasto
|
|
<keycap>m</keycap>, seguito dall'indirizzo di posta elettronica del
|
|
destinatario. Puoi specificare più destinatari separando ogni
|
|
indirizzo da una virgola (<keycap>,</keycap>). Quindi si inserisce
|
|
il soggetto del messaggio (il subject), seguito dal contenuto del
|
|
messaggio stesso. La fine del messaggio deve essere specificata da un
|
|
singolo punto (<keycap>.</keycap>) su una nuova linea.</para>
|
|
|
|
<screen>& <userinput>mail root@localhost</userinput>
|
|
Subject: <userinput>Ho imparato ad usare mail
|
|
|
|
Ora posso inviare e ricevere posta usando mail ... :)
|
|
.</userinput>
|
|
EOT</screen>
|
|
|
|
<para>Anche se in <command>mail</command>, il comando <keycap>?</keycap>
|
|
può essere usato per invocare l'help in linea, la pagina man
|
|
&man.mail.1; dovrebbe essere consultata per ottenere maggiori
|
|
informazioni.</para>
|
|
|
|
<note>
|
|
<para>Come menzionato in precedenza, il comando &man.mail.1; non
|
|
è stato originariamente progettato per gestire gli allegati, e
|
|
quindi il supporto per essi è proprio misero. Nuovi
|
|
<acronym>MUA</acronym> come <application>mutt</application> gestiscono
|
|
gli allegati in un modo più intelligente. Tuttavia se desideri
|
|
comunque usare il comando <command>mail</command>, dovresti
|
|
considerare l'uso del port <filename
|
|
role="package">converters/mpack</filename>.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="mutt-command">
|
|
<title>mutt</title>
|
|
|
|
<para><application>mutt</application> è un Mail User Agent leggero
|
|
ma molto potente, con caratteristiche eccellenti, alcune delle
|
|
quali sono:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Abilità nella gestione di thread di messaggi;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Supporto PGP per la firma digitale e per criptare i messaggi di
|
|
posta;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Supporto al MIME;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Supporto del formato Maildir;</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Altamente personalizzabile.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Tutte queste caratteristiche fanno di
|
|
<application>mutt</application> uno dei maggiori user agent avanzati
|
|
oggi disponibili. Guarda <ulink url="http://www.mutt.org"></ulink> per
|
|
maggiori informazioni su <application>mutt</application>.</para>
|
|
|
|
<para>La versione stabile di <application>mutt</application> può
|
|
essere installata usando il port <filename
|
|
role="package">mail/mutt</filename>, mentre la versione corrente
|
|
di sviluppo può essere installata tramite il port <filename
|
|
role="package">mail/mutt-devel</filename>. Una volta che il port
|
|
è stato installato, <application>mutt</application> può
|
|
essere avviato usando il seguente comando:</para>
|
|
|
|
<screen>&prompt.user; <userinput>mutt</userinput></screen>
|
|
|
|
<para><application>mutt</application> in modo automatico legge il
|
|
contenuto della casella di posta dell'utente in <filename
|
|
class="directory">/var/mail/</filename> e ne visualizza il contenuto.
|
|
Se non ci sono messaggi nella casella di posta dell'utente, allora
|
|
<application>mutt</application> si mette in attesa di comandi da parte
|
|
dell'utente. L'esempio qui sotto mostra <application>mutt</application>
|
|
che visualizza una lista di messaggi:</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/mutt1.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>Per leggere un messaggio, selezionalo usando i tasti cursore, e
|
|
premi il tasto <keycap>Invio</keycap>. Segue un esempio di come
|
|
<application>mutt</application> visualizza un messaggio:</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/mutt2.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>Come con il comando &man.mail.1;, <application>mutt</application>
|
|
permette agli utenti di rispondere al solo mittente del messaggio come
|
|
pure a tutti i suoi destinatari. Per rispondere solo al mittente
|
|
del messaggio, usa il tasto <keycap>r</keycap>. Per inviare una
|
|
risposta di gruppo, che invierà la risposta sia al mittente
|
|
originario sia a tutti i destinatari del messaggio, usa il tasto
|
|
<keycap>g</keycap>.</para>
|
|
|
|
<note>
|
|
<para><application>mutt</application> si serve del comando &man.vi.1;
|
|
come editor per la creazione o risposta dei messaggi di posta
|
|
elettronica. Il tipo di editor può essere personalizzato
|
|
dall'utente creando o editando il proprio file di configurazione
|
|
<filename>.muttrc</filename> nella propria directory home e settando
|
|
in modo opportuno la variabile <literal>editor</literal> o
|
|
impostando la variabile di ambiente <envar>EDITOR</envar>.
|
|
Guarda <ulink url="http://www.mutt.org/"></ulink> per
|
|
ulteriori informazioni sulla configurazione di
|
|
<application>mutt</application>.</para>
|
|
</note>
|
|
|
|
<para>Per comporre un nuovo messaggio, premi il tasto <keycap>m</keycap>.
|
|
Dopo aver digitato un valido soggetto, <application>mutt</application>
|
|
avvierà &man.vi.1; con il quale comporre il corpo del messaggio.
|
|
Fatto ciò, salvando e uscendo da <command>vi</command>,
|
|
<application>mutt</application> visualizzarà una schermata
|
|
riassuntiva del messaggio che sta per essere consegnato. Per inviare il
|
|
messaggio, premi il tasto <keycap>y</keycap>. Segue un esempio di una
|
|
schermata riassuntiva di un messaggio:</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/mutt3.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para><application>mutt</application> contiene un ottimo help in linea,
|
|
che può essere accessibile nella maggior parte dei menù
|
|
digitando il tasto <keycap>?</keycap>. Inoltre, in alcuni casi, nella
|
|
parte superiore delle finestra vengono elencati i tasti funzioni
|
|
principali.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="pine-command">
|
|
<title>pine</title>
|
|
|
|
<para><application>pine</application> è rivolto agli utenti novizi,
|
|
tuttavia include alcune caratteristiche avanzate.</para>
|
|
|
|
<warning>
|
|
<para>Il software <application>pine</application> ha avuto svariate
|
|
vulnerabilità remote scoperte in passato, che permettevano ad
|
|
attaccanti remoti di eseguire del codice arbitrario come se fossero
|
|
degli utenti locali del sistema, tramite l'invio di un messaggio di
|
|
posta preparato ad doc. Tutti questi <emphasis>noti</emphasis>
|
|
problemi sono stati rattoppati, ma il codice di
|
|
<application>pine</application> è stato scritto in un modo
|
|
insicuro e il Servizio di Sicurezza di &os; crede che probabilmente
|
|
esistono altre vulnerabilità non ancora scoperte o divulgate.
|
|
Installa <application>pine</application> a tuo rischio e
|
|
pericolo.</para>
|
|
</warning>
|
|
|
|
<para>L'attuale versione di <application>pine</application> può
|
|
essere installata usando il port <filename
|
|
role="package">mail/pine4</filename>. Una volta che il port è
|
|
stato installato, <application>pine</application> può essere
|
|
avviato con il comando seguente:</para>
|
|
|
|
<screen>&prompt.user; <userinput>pine</userinput></screen>
|
|
|
|
<para>La prima volta che <application>pine</application> viene avviato
|
|
viene visualizza una pagina di presentazione con una breve introduzione,
|
|
e un sollecito del team di sviluppo di <application>pine</application>
|
|
ad inviare un messaggio anonimo che permette di constatare quanti sono
|
|
gli utenti che usano la loro applicazione. Per inviare questo messaggio
|
|
anonimo, premi <keycap>Invio</keycap>, oppure premi il tasto
|
|
<keycap>E</keycap> per uscire dalla presentazione senza inviare il
|
|
messaggio anonimo. Ecco un esempio della pagina di
|
|
presentazione:</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/pine1.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>All'utente viene quindi presentato il menù principale, che
|
|
può essere facilmente esplorato con i tasti cursore. Questo
|
|
menù principale fornisce le scorciatoie per comporre nuovi
|
|
messaggi di posta, per esplorare le directory di posta e perfino per
|
|
amministrare l'agenda degli indirizzi. Sotto al menù
|
|
principale, sono mostrati i tasti funzione utili per realizzare azioni
|
|
specifiche, attinenti all'attuale contesto d'uso.</para>
|
|
|
|
<para>La directory di default aperta da <application>pine</application>
|
|
è <filename class="directory">inbox</filename>. Per visualizzare
|
|
l'indice dei messaggi, premi il tasto <keycap>I</keycap>, o seleziona
|
|
l'opzione <guimenuitem>MESSAGE INDEX</guimenuitem> come da
|
|
esempio:</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/pine2.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>L'indice dei messaggi mostra i messaggi nella directory corrente,
|
|
e può essere esplorato con i tasti cursore. I messaggi
|
|
selezionati possono essere letti premendo il tasto
|
|
<keycap>Invio</keycap>.</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/pine3.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>Nello screenshot seguente, viene visualizzato un semplice messaggio
|
|
in <application>pine</application>. I tasti funzione sono visualizzati
|
|
come riferimento nella parte superiore della finestra. Un esempio di
|
|
uno di questi tasti funzioni è il tasto <keycap>r</keycap>,
|
|
che dice al <acronym>MUA</acronym> di rispondere al messaggio
|
|
attualmente visualizzato.</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/pine4.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para>In <application>pine</application> la risposta ad un messaggio viene
|
|
realizzata con l'editor <application>pico</application>, che è
|
|
installato di default con <application>pine</application>. L'utility
|
|
<application>pico</application> permette una semplice esplorazione del
|
|
messaggio ed è più permissivo con i nuovi utenti rispetto
|
|
a &man.vi.1; o &man.mail.1;. Una volta completata la risposta, il
|
|
messaggio può essere inviato con <keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>.
|
|
L'applicazione <application>pine</application> chiederà una
|
|
conferma.</para>
|
|
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="mail/pine5.png" format="PNG"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
|
|
<para><application>pine</application> può essere personalizzato
|
|
usando l'opzione <guimenuitem>SETUP</guimenuitem> del menù
|
|
principale. Consulta <ulink
|
|
url="http://www.washington.edu/pine/"></ulink> per maggiori
|
|
informazioni.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-fetchmail">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Marc</firstname>
|
|
|
|
<surname>Silver</surname>
|
|
|
|
<contrib>Contributo di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Usare fetchmail</title>
|
|
|
|
<indexterm><primary>fetchmail</primary></indexterm>
|
|
|
|
<para><application>fetchmail</application> è un client
|
|
<acronym>IMAP</acronym> e <acronym>POP</acronym> super attrezzato che
|
|
da la possibilità agli utenti di scaricare automaticamente la posta
|
|
da server remoti <acronym>IMAP</acronym> e <acronym>POP</acronym> e di
|
|
salvarla nelle proprie caselle di posta locali; in questo modo la posta
|
|
è più accessibile. <application>fetchmail</application>
|
|
può essere installato usando il port <filename
|
|
role="package">mail/fetchmail</filename>, e offre diverse
|
|
caratteristiche, alcune delle quali sono:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Supporto dei protocolli <acronym>POP3</acronym>,
|
|
<acronym>APOP</acronym>, <acronym>KPOP</acronym>,
|
|
<acronym>IMAP</acronym>, <acronym>ETRN</acronym> e
|
|
<acronym>ODMR</acronym>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Capacità di inoltrare la posta usando
|
|
<acronym>SMTP</acronym>, permettendo di filtrare, inoltrare, e usare
|
|
la funzionalità alias come di consueto.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Può essere eseguito in modalità demone per
|
|
verificare in modo periodico la presenza di nuovi messaggi.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Può recuperare più caselle di posta e inoltrare
|
|
i relativi messaggi a diversi utenti locali, a seconda della sua
|
|
configurazione.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Benchè la spiegazione di tutte le caratteristiche di
|
|
<application>fetchmail</application> vada oltre lo scopo di questo
|
|
documento, verranno presentate alcune funzionalità di base.
|
|
<application>fetchmail</application> richiede un file di configurazione
|
|
<filename>.fetchmailrc</filename>, al fine di poter essere avviato in modo
|
|
corretto. Questo file include informazioni sui server come pure le
|
|
credenziali per il login. Data la natura sensibile del contenuto di
|
|
questo file, è consigliabile renderlo accessibile in sola lettura
|
|
dal proprietario, usando il seguente comando:</para>
|
|
|
|
<screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
|
|
|
|
<para>La seguente configurazione di <filename>.fetchmailrc</filename> serve
|
|
come esempio per scaricare una singola casella di posta usando
|
|
<acronym>POP</acronym>. Essa indica a
|
|
<application>fetchmail</application> di connettersi a <hostid
|
|
role="fqdn">example.com</hostid> usando come nome utente
|
|
<username>joesoap</username> e come password <literal>XXX</literal>.
|
|
Questo esempio assume che l'utente <username>joesoap</username> è
|
|
anche un utente del sistema locale.</para>
|
|
|
|
<programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting>
|
|
|
|
<para>Il prossimo esempio si connette a più server
|
|
<acronym>POP</acronym> e <acronym>IMAP</acronym> e redirige i vari
|
|
messaggi a diversi nomi utenti locali quando necessario:</para>
|
|
|
|
<programlisting>poll example.com proto pop3:
|
|
user "joesoap", with password "XXX", is "jsoap" here;
|
|
user "andrea", with password "XXXX";
|
|
poll example2.net proto imap:
|
|
user "john", with password "XXXXX", is "myth" here;</programlisting>
|
|
|
|
<para>L'utility <application>fetchmail</application> può essere
|
|
eseguita in modalità demone con l'opzione <option>-d</option>,
|
|
seguita da un intervallo (in secondi) in base al quale
|
|
<application>fetchmail</application> sonderà i server elencati nel
|
|
file <filename>.fetchmailrc</filename>. Il seguente esempio indica a
|
|
<application>fetchmail</application> di sondare i server ogni 600
|
|
secondi:</para>
|
|
|
|
<screen>&prompt.user; <userinput>fetchmail -d 600</userinput></screen>
|
|
|
|
<para>Maggiori informazioni su <application>fetchmail</application> possono
|
|
essere trovate all'indirizzo <ulink
|
|
url="http://fetchmail.berlios.de/"></ulink>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="mail-procmail">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Marc</firstname>
|
|
|
|
<surname>Silver</surname>
|
|
|
|
<contrib>Contributo di </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Usare procmail</title>
|
|
|
|
<indexterm><primary>procmail</primary></indexterm>
|
|
|
|
<para>L'utility <application>procmail</application> è un'applicazione
|
|
molto potente usata per filtrare la posta in ingresso. Permette agli
|
|
utenti di definire delle <quote>regole</quote> che sono confrontate con la
|
|
posta in ingresso per realizzare funzioni specifiche o per inoltrare la
|
|
posta ad una casella di posta alternativa e/o ad altri indirizzi di posta.
|
|
<application>procmail</application> può essere installato usando
|
|
il port <filename role="package">mail/procmail</filename>. Una volta
|
|
installato, può essere integrato direttamente nella maggior parte
|
|
degli <acronym>MTA</acronym>; consulta la documentazione del tuo
|
|
<acronym>MTA</acronym> per maggiori informazioni. Altrimenti,
|
|
<application>procmail</application> può essere integrato
|
|
aggiungendo la seguente linea nel file <filename>.forward</filename> nella
|
|
home directory dell'utente, potendo così utilizzare le
|
|
funzionalità di <application>procmail</application>:</para>
|
|
|
|
<programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
|
|
|
|
<para>La seguente sezione mostra alcune regole base di
|
|
<application>procmail</application>, così come una breve
|
|
descrizione di ciò che fanno. Queste ed eventualmente altre
|
|
regole, devono essere inserite nel file <filename>.procmailrc</filename>,
|
|
posto nella home directory dell'utente.</para>
|
|
|
|
<para>La maggior parte di queste regole possono essere trovate anche nella
|
|
pagina man di &man.procmailex.5;.</para>
|
|
|
|
<para>Per inoltrare la posta inviata da <email>user@example.com</email>
|
|
all'indirizzo di posta <email
|
|
role="nolink">goodmail@example2.com</email>:</para>
|
|
|
|
<programlisting>:0
|
|
* ^From.*user@example.com
|
|
! goodmail@example2.com</programlisting>
|
|
|
|
<para>Per inoltrare tutti i messaggi di posta con dimensioni inferiori a
|
|
1000 bytes verso l'indirizzo di posta esterno
|
|
<email role="nolink">goodmail@example2.com</email>:</para>
|
|
|
|
<programlisting>:0
|
|
* < 1000
|
|
! goodmail@example2.com</programlisting>
|
|
|
|
<para>Per inoltrare tutta la posta inviata a
|
|
<email>alternate@example.com</email> in una casella di posta chiamata
|
|
<filename>alternate</filename>:</para>
|
|
|
|
<programlisting>:0
|
|
* ^TOalternate@example.com
|
|
alternate</programlisting>
|
|
|
|
<para>Per inviare tutti messaggi di posta con soggetto <quote>Spam</quote>
|
|
in <filename>/dev/null</filename>:</para>
|
|
|
|
<programlisting>:0
|
|
^Subject:.*Spam
|
|
/dev/null</programlisting>
|
|
|
|
<para>Ecco una ricetta utile che analizza i messaggi di posta in ingresso
|
|
delle liste di <hostid role="domainname">&os;.org</hostid> e li posiziona
|
|
in base alla lista in una opportuna casella di posta:</para>
|
|
|
|
<programlisting>:0
|
|
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
|
|
{
|
|
LISTNAME=${MATCH}
|
|
:0
|
|
* LISTNAME??^\/[^@]+
|
|
FreeBSD-${MATCH}
|
|
}</programlisting>
|
|
</sect1>
|
|
</chapter>
|