[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 313.   Utilizzo e gestione elementare della posta elettronica

Generalmente, l'invio di messaggi di posta elettronica (email) si basa su un MTA (Mail transfer agent) locale che, quando riceve una richiesta di invio di un messaggio, si occupa di mettersi in contatto con un suo collega presso l'indirizzo di destinazione, o se necessario in una destinazione intermedia, che si prenda cura di consegnare il messaggio o di reinoltrarlo. Tutto quanto sembra molto semplice a dirsi, in realtà la configurazione di un MTA potrebbe essere molto complessa.

Spesso, in presenza di una rete locale, il funzionamento corretto dell'MTA richiede la predisposizione di un servizio di risoluzione dei nomi locale. A tale proposito conviene consultare i capitoli 272 e 273.

L'invio di messaggi di posta elettronica avviene solitamente attraverso l'uso di un programma adatto alla loro composizione, che poi si mette in comunicazione con l'MTA per l'inoltro del messaggio. Più precisamente, un messaggio inviato a un utente dell'elaboratore locale non richiede alcun MTA, mentre l'invio a un altro elaboratore richiede almeno la presenza di un MTA presso l'indirizzo di destinazione.

Storicamente, l'MTA più diffuso nei sistemi Unix è stato Sendmail; (1) tuttavia, è sempre più comune l'uso di MTA alternativi, meno complicati, pur mantenendo un certo grado di compatibilità con quello tradizionale. Nella parte lii l'argomento viene ripreso e trattato con maggiore dettaglio.

313.1   Servizio di rete e servizio di consegna locale

La posta elettronica non è semplicemente un servizio di rete che si attua attraverso un protocollo (SMTP). Il servizio di rete permette il trasferimento dei messaggi, ma l'MTA ha anche il compito di recapitarli ai destinatari, in forma di file.

In questo senso, il meccanismo può sembrare un po' confuso all'inizio, trattandosi effettivamente di un sistema piuttosto complicato. In un sistema composto da un elaboratore isolato, anche se provvisto di terminali più o meno decentrati, non c'è alcun bisogno di fare viaggiare messaggi attraverso una rete, è sufficiente che questi vengano semplicemente messi a disposizione dell'utente destinatario (in un file contenuto nella sua directory personale, o in una directory pubblica, in cui il file in questione possa essere accessibile solo a quell'utente particolare). In tal caso, chi si occupa di attuare questo sistema è un MDA, ovvero Mail delivery agent.

Quando invece si deve inviare un messaggio attraverso la rete, perché l'indirizzo del destinatario si trova in un nodo differente, si utilizza il protocollo SMTP, per contattare presso la destinazione un servente SMTP. Questo servente ha il compito di recapitare la posta elettronica (presumibilmente presso il proprio sistema locale). Quindi, lo scopo del servente SMTP è quello di recapitare i messaggi.

La trasmissione del messaggio, che richiede la connessione con il servente remoto della destinazione, non fa capo ad alcun servizio di rete nell'ambito locale. Questa connessione potrebbe essere instaurata direttamente dal programma che si utilizza per scrivere il messaggio da trasmettere, oppure, come succede di solito, da un altro programma specifico, che in più si preoccupa di ritentare l'invio del messaggio se per qualche motivo le cose non funzionano subito, rinviandolo eventualmente all'origine se non c'è modo di recapitarlo.

L'MTA ha generalmente questi tre ruoli fondamentali: l'attivazione del servizio SMTP, per la ricezione di messaggi dall'esterno; la gestione della trasmissione di questi, assieme a una coda per ciò che non può essere trasmesso immediatamente; la consegna locale dei messaggi ricevuti attraverso il protocollo SMTP oppure attraverso lo stesso sistema locale. Quindi, in generale, un MTA integra anche le funzioni di un MDA.

313.2   Uso della posta elettronica

La posta elettronica, o email, è un modo di comunicare messaggi che richiede la conoscenza di alcune convenzioni. Ciò, sia per evitare malintesi, sia per eliminare le perdite di tempo.

Un messaggio di posta elettronica è formato fondamentalmente da una «busta» e dal suo contenuto. La busta è rappresentata da tutte le informazioni necessarie a recapitare il messaggio, mentre il contenuto è composto generalmente da un testo ASCII puro e semplice. Tutte le volte che il testo è composto in modo diverso, si aggiungono dei requisiti nei programmi da utilizzare per la sua lettura; in pratica, si rischia di creare un problema in più al destinatario del messaggio.

In generale, un messaggio di posta elettronica può contenere uno o più allegati, conosciuti frequentemente come attachment. L'allegato permette di incorporare in un messaggio un file che poi, attraverso strumenti opportuni, può essere estrapolato correttamente, riproducendo esattamente il file originale. Ciò che si deve evitare di fare in generale è l'invio del messaggio come un allegato. Questo, purtroppo, capita frequentemente quando si usano programmi per la composizione di messaggi di posta elettronica che permettono di introdurre elementi di formattazione del testo (Rich Text). Quando si usano programmi grafici di composizione per i messaggi di posta elettronica è bene controllare la configurazione per eliminare questa formattazione, che spesso è predefinita.

Figura 313.1. L'insidia dei programmi MUA grafici che utilizzano la composizione dei messaggi in formato HTML in modo predefinito.

email-rich-text

Le varie estensioni al codice ASCII hanno portato alla definizione di un gran numero di codifiche differenti. Spesso è sufficiente configurare il proprio programma di composizione dei messaggi di posta elettronica in modo da utilizzare la codifica ISO 8859-1, per poter scrivere correttamente con le lingue di buona parte dei paesi europei (inglese inclusa). Tuttavia, anche la scelta di una codifica come questa, che richiede l'utilizzo di 8 bit invece dei 7 bit tradizionali dell'ASCII, può costituire un problema per qualcuno. In questo senso, quando si scrive in italiano, è «cortese» utilizzare gli apostrofi alla fine delle vocali che avrebbero dovuto essere accentate.

313.2.1   Elementi di intestazione

Un messaggio di posta elettronica si compone inizialmente di una serie di indicazioni, tra cui le più importanti sono quelle che servono a recapitarlo al destinatario. L'uso corretto di questi elementi di intestazione è importante, non solo perché il messaggio raggiunga il destinatario o i destinatari, ma anche per chiarire loro il contesto del messaggio e le persone coinvolte.

Campo Descrizione
To:

Il campo To: viene utilizzato per definire i destinatari del messaggio. Quando si tratta di più di uno, convenzionalmente, i vari indirizzi vengono separati attraverso una virgola.

L'indirizzo del destinatario va indicato secondo le regole consentite dagli MTA interessati; generalmente è ammissibile una delle tre forme seguenti.

utente@nodo
nominativo_completo <utente@nodo>
"nominativo_completo" <utente@nodo>
Cc:

Il campo Cc: viene utilizzato per definire i destinatari del messaggio in copia carbone. Nella corrispondenza normale, almeno in Italia, si utilizza la definizione «per conoscenza», intendendo che questi destinatari non sono chiamati in causa direttamente.

In pratica, si utilizza il campo Cc: per recapitare una copia del messaggio a dei corrispondenti dai quali non si attende una risposta, ma che è importante siano a conoscenza di queste informazioni.

Bcc:

Il campo Bcc: viene utilizzato per definire i destinatari del messaggio a cui deve essere inviata una copia carbone nascosta (Blind carbon copy). La differenza rispetto alla copia carbone normale sta nel fatto che i destinatari non vengono messi a conoscenza della presenza di queste copie aggiuntive.

From:

Il campo From: viene utilizzato per definire l'indirizzo del mittente. Non si tratta necessariamente del nome utilizzato dall'utente nel momento in cui compone il messaggio, ma di quello al quale ci si aspetta di ricevere una risposta.

Reply-To:

Il campo Reply-To: viene utilizzato per indicare un indirizzo a cui si invita a inviare un'eventuale risposta. Viene utilizzato in situazioni particolari, quando per questo non si intende usare il campo From:. Tipicamente viene aggiunto nei messaggi trasmessi da un sistema che gestisce le liste di posta elettronica (mailing-list) quando si vuole lasciare l'indicazione del mittente effettivo, guidando la risposta verso la stessa lista.

Subject:

Il campo Subject: serve a indicare l'oggetto del messaggio. Anche se nella corrispondenza normale l'oggetto viene usato solo nelle comunicazioni formali, nella posta elettronica è opportuno aggiungere sempre questa indicazione.

Un oggetto chiaro permette al destinatario di capire immediatamente il contesto per il quale viene contattato. Inoltre, quando da un messaggio si genera una catena di risposte (cioè un thread), è importante l'oggetto scelto inizialmente.

313.2.2   Risposta, proseguimento e riservatezza

La risposta a un messaggio viene inviata normalmente al mittente (From:), a tutti i destinatari normali (To:) e a tutti quelli cui è stato inviato il messaggio per conoscenza (Cc:). Questa operazione viene fatta solitamente in modo automatico dal programma utilizzato per leggere e comporre i messaggi: il Mail user agent (MUA). È importante però fare attenzione sempre che ciò corrisponda alla propria volontà, o che le circostanze siano appropriate. Infatti, se sono coinvolte diverse persone in una corrispondenza, è probabile che si giunga a un punto in cui non abbia più significato continuare a «importunarle» quando la catena di risposte è degenerata in un contesto differente.

I programmi MUA comuni aggiungono la sigla Re: davanti all'oggetto, a meno che non inizi già in questo modo, quando si risponde a un messaggio precedente. Il problema sta nel fatto che non sempre viene rispettata questa convenzione, per cui se ne trovano altri che aggiungono qualcosa di diverso, come R:. Così, se la catena di risposte prosegue si rischia di arrivare ad avere un oggetto formato da una serie di Re: R: Re: R:.

Quando il messaggio a cui si risponde contiene l'indicazione del campo Reply-To:, si pone un problema in più: la scelta corretta del destinatario. Infatti, la risposta va inviata all'indirizzo Reply-To: solo se perfettamente conforme al contesto. Si è già accennato al fatto che questo campo viene aggiunto dai programmi di gestione delle liste di posta elettronica. In questa situazione è molto diverso inviare una risposta alla lista o soltanto al mittente originario del messaggio.

Quando si vuole rinviare a un altro indirizzo (forward in inglese), si dice che questo viene fatto proseguire (così come avviene nella posta normale quando l'indirizzo di destinazione non è più valido per qualche motivo). Per farlo si incorpora il messaggio originale con alcune informazioni sul mittente e sul destinatario originale, permettendo di aggiungere qualche commento aggiuntivo.

Quando si riceve un messaggio, così come accade nella corrispondenza normale, occorre un po' di attenzione se si pensa di divulgarne il contenuto ad altri. Evidentemente dipende dalle circostanze; in caso di dubbio occorre almeno chiedere il consenso della persona che lo ha scritto.

313.3   Sendmail

pericolo: software non libero software non libero: non è consentita la commercializzazione a scopo di lucro

Come accennato, Sendmail (2) è stato l'MTA più diffuso nei sistemi Unix, tanto che anche nelle distribuzioni GNU è stato utilizzato spesso in modo predefinito. Il pregio di Sendmail è la sua estrema configurabilità. Il suo difetto è lo stesso pregio: l'estrema configurabilità implica un'estrema complessità.

A seconda delle opzioni con cui viene avviato l'eseguibile sendmail, si ottiene un demone in ascolto della porta SMTP (25), oppure si ottiene la trasmissione di un messaggio fornito attraverso lo standard input, oppure si hanno altre funzioni accessorie.

Solitamente, Sendmail viene distribuito già configurato in modo standard, sia per l'attivazione del servizio SMTP, sia per la gestione della trasmissione dei messaggi e della consegna locale; qui si vuole solo vedere quel poco che può valere la pena di modificare, anche per un principiante. Sendmail viene trattato con maggiore dettaglio nel capitolo 318; inoltre, nel capitolo 319 si introduce anche l'uso di Exim, un MTA alternativo e abbastanza compatibile con le convenzioni operative di Sendmail.

313.3.1   Avvio

sendmail è l'eseguibile di Sendmail. Viene usato fondamentalmente in due modi: per l'attivazione del servizio SMTP e per la trasmissione e la consegna locale dei messaggi.

sendmail [opzioni]

Per l'attivazione del servizio SMTP, viene avviato normalmente come demone indipendente dal supervisore dei servizi di rete, aggiungendo così l'opzione -bd. Naturalmente, si tratta solitamente di un'operazione che viene fatta dalla stessa procedura di inizializzazione del sistema. Ecco come potrebbe apparire la riga che avvia sendmail in uno script del genere:(3)

/usr/lib/sendmail -bd

Per l'invio di un messaggio, è sufficiente avviare sendmail, fornendogli questo attraverso lo standard input, avendo cura di separare con una riga vuota l'intestazione dal testo. Segue un esempio di questo tipo di utilizzo:.

cat | /usr/lib/sendmail tizio@dinkel.brot.dg[Invio]

From: caio@roggen.brot.dg[Invio]

Subject: ciao ciao[Invio]

[Invio]

Ciao Tizio.[Invio]

Quanto tempo che non ci si sente![Invio]

[Ctrl d]

Questa forma di utilizzo dell'eseguibile sendmail può essere utile per realizzare uno script con qualche informazione definita in modo automatico.

Per questo tipo di utilizzo, è fondamentale la riga vuota (vuota e non solo bianca) prima del testo del messaggio.

313.3.2   Configurazione di Sendmail

La configurazione di Sendmail è a dir poco «terribile» e si attua attraverso il file /etc/sendmail.cf. Chi non è esperto è bene che lasci stare il file di configurazione che si ritrova, oppure che ne scelga uno tra un gruppo già pronto e ben descritto per i suoi effetti.

È chiaro che in questa situazione ci si deve fidare della propria distribuzione GNU; di conseguenza occorre leggere la documentazione relativa che dovrebbe descrivere le scelte fatte nella configurazione di questo servizio.

Per modificare la configurazione di Sendmail, si evita generalmente di intervenire direttamente nel file /etc/sendmail.cf, utilizzando piuttosto dei linguaggi macro in grado di costruirne uno con meno fatica (ciò è descritto nel capitolo 318).

313.3.3   Alias

Attraverso il file /etc/aliases è possibile configurare una serie di alias per facilitare l'invio di messaggi di posta elettronica. Gli alias stabiliscono a chi, effettivamente, debbano essere recapitati i messaggi.

In generale, non è conveniente che l'utente root possa ricevere dei messaggi, per questo, un alias potrebbe rimandare la sua posta elettronica verso il recapito corrispondente all'utente comune riferito a quella stessa persona.

Inoltre, è importante che gli utenti fittizi (bin, daemon, ecc.) non possano ricevere messaggi: prima di tutto non esistono tali persone, inoltre ciò potrebbe servire per sfruttare qualche carenza nel sistema di sicurezza dell'elaboratore locale.

Infine, è molto importante che vengano definiti degli alias usati comunemente per identificare il responsabile del servizio SMTP presso il nodo locale.

L'esempio seguente mostra il file /etc/aliases tipico, in cui si dichiarano gli alias del responsabile del servizio (postmaster), gli alias degli utenti di sistema e infine l'alias dell'utente root.

postmaster: root
root: daniele

daemon: root
bin: root
sys: root
sync: root
games: root
man: root
lp: root
mail: root
news: root
uucp: root
proxy: root
majordom: root
postgres: root
backup: root
msql: root
operator: root
list: root
irc: root
gnats: root
alias: root
qmaild: root
qmails: root
qmailr: root
qmailq: root
qmaill: root
qmailp: root

mailer-daemon: postmaster
webmaster: root
faxmaster: root

Purtroppo, questo file non può essere utilizzato da sendmail così com'è, deve essere prima tradotto nel file /etc/aliases.db attraverso il comando newaliases.(4)

newaliases è un collegamento a sendmail. Quando sendmail viene avviato con questo nome, senza bisogno di altri argomenti, genera un nuovo file /etc/aliases.db a partire dal sorgente /etc/aliases.

Quindi, ogni volta che si modifica il file /etc/alias, occorre avviare newaliases.

313.3.4   Coda dei messaggi

Quando sendmail viene avviato per ottenere l'invio di un messaggio, questo utilizza la directory /var/spool/mqueue/ per accodare ciò che non può essere trasmesso immediatamente.

Per sapere se un messaggio è stato inviato effettivamente, occorre controllare che questa directory sia vuota. Per questo, si può utilizzare il comando mailq che restituisce lo stato di questa directory.

mailq è un collegamento a sendmail. Quando sendmail viene avviato con questo nome, senza bisogno di altri argomenti, legge il contenuto di /var/spool/mqueue/ ed elenca in breve i messaggi rimasti nella coda.

L'esempio seguente mostra i file di due messaggi che non sono stati recapitati per motivi diversi.

ls -l /var/spool/mqueue[Invio]

total 4
-rw-------   1 root     mail           16 Sep 12 21:01 dfVAA03244
-rw-------   1 root     mail           10 Sep 12 21:09 dfVAA03507
-rw-------   1 root     mail          507 Sep 12 21:02 qfVAA03244
-rw-------   1 root     mail          535 Sep 12 21:09 qfVAA03507

Con mailq si ottiene invece una visione più chiara, ma soprattutto accessibile anche all'utente comune.(5)

mailq[Invio]

                Mail Queue (2 requests)
--Q-ID-- --Size-- -Priority- ---Q-Time--- -----------Sender/Recipient-----------
VAA03244       16      30065 Sep 12 21:01 root
                 (Deferred: No route to host)
                                          daniele@weizen.mehl.dg
VAA03507       10      30066 Sep 12 21:09 root
                 (Deferred: Connection refused by weizen.mehl.dg.)
                                          root@weizen.mehl.dg

L'uso di mailq è molto importante per verificare che i messaggi siano stati inviati, specialmente quando si utilizza un collegamento su linea commutata: prima di interrompere la comunicazione, conviene verificare che non siano rimasti messaggi in coda.(6)

313.3.5   Rinvio

Il file ~/.forward può essere preparato da un utente (nella propria directory personale) per informare il sistema di consegna locale della posta elettronica (MDA) di fare proseguire (rinviare) i messaggi verso altri indirizzi. Il file si compone di una o più righe, ognuna contenente un indirizzo di posta elettronica alternativo; i messaggi giunti per l'utente in questione vengono fatti proseguire verso tutti gli indirizzi elencati in questo file.

daniele@dinkel.brot.dg

L'esempio mostra semplicemente che tutti messaggi di posta elettronica ricevuti dall'utente a cui appartiene la directory personale in cui si trova il file, devono essere rispediti all'indirizzo daniele@dinkel.brot.dg.

È importante chiarire che non rimane copia dei messaggi per l'utente in questione. Si presume che questo utente riceva la posta elettronica attraverso uno degli indirizzi elencati nel file ~/.forward.

313.4   Recapito della posta elettronica: la variabile MAIL

La posta elettronica viene recapitata normalmente all'interno di un file di testo unico, appartenente all'utente destinatario. Generalmente, si distinguono due possibilità sulla collocazione di tale file: la directory /var/mail/ (o anche /var/spool/mail/) e un file particolare nella directory personale dell'utente.

Sendmail e altri programmi simili, utilizzano il primo modo, secondo la configurazione predefinita, dove ogni utente ha un proprio file con un nome che corrisponde a quello dell'utenza.

I programmi utilizzati per leggere la posta elettronica devono sapere dove trovarla; in generale si utilizza la convenzione della variabile di ambiente MAIL, che serve a definire il percorso assoluto del file di destinazione dei messaggi.

Di solito, nel profilo di configurazione della shell appare un'istruzione simile a quella seguente, dove si definisce l'uso di un file, il cui nome corrisponde a quello dell'utente destinatario, nella directory /var/mail/ (si fa riferimento a una shell derivata da quella di Bourne).

MAIL="/var/mail/$USER"
export MAIL

313.5   Mail user agent

Per scrivere, inviare e leggere i messaggi di posta elettronica si utilizza normalmente un programma apposito, detto MUA o Mail user agent. Programmi di questo tipo se ne possono trovare in grande quantità, ma difficilmente questi sono compatibili tra loro.

Il MUA storicamente più importante e quasi sempre presente nei sistemi Unix è Berkeley Mail, ovvero Mailx.

313.5.1   Ricezione e invio dei messaggi da parte del MUA

La ricezione dei messaggi in un sistema Unix avviene principalmente dalla lettura del file usato per il recapito di questi nel sistema locale, ovvero il file indicato nella variabile di ambiente MAIL. Questo è ciò che si limita a fare un programma come Mailx, mentre altri programmi più sofisticati possono prelevarla direttamente da caselle remote attraverso i protocolli POP3 (a volte anche POP2) e IMAP.

Per l'invio dei messaggi, il programma MUA di un sistema Unix ha a disposizione due possibilità. La più semplice è l'utilizzo dell'eseguibile sendmail (inteso come MDA locale, anche se poi l'eseguibile sendmail può appartenere a un MDA diverso dal classico Sendmail, che però aderisce alle convenzioni tradizionali), a cui viene passato il messaggio attraverso lo standard input, dove poi è questo secondo programma che provvede da solo al recapito locale o all'invio ad altra destinazione attraverso il protocollo SMTP; la seconda possibilità consiste invece nell'accedere direttamente a un servente SMTP.

Tanto per fare un esempio, Mailx è quel tipo di programma che si avvale dell'MDA locale per spedire i messaggi, mentre tutti i programmi più sofisticati si avvalgono direttamente del protocollo SMTP. La differenza tra i due approcci è importante: se non si vuole gestire la posta elettronica localmente, ma si ha una casella di posta remota (come quando si fa un contratto con un ISP), si può fare affidamento esclusivamente su un servente SMTP remoto (offerto da quello stesso ISP). Volendo invece utilizzare Mailx, o programmi simili, si è costretti a installare anche Sendmail o un altro MUA compatibile.

In un sistema Unix comune, esistono diversi programmi che dipendono da un sistema di consegna dei messaggi locale compatibile con Sendmail. Pertanto, in generale la scelta migliore, o anche solo obbligata, è quella di installare un MDA compatibile con Sendmail. Successivamente, partendo da questa base diventa conveniente utilizzare un programma come Fetchmail (capitolo 314) per prelevare la posta da caselle remote per farla recapitare nuovamente attraverso il sistema di consegna locale. Pertanto, conviene poi configurare il proprio MUA per prelevare i messaggi esclusivamente dal file indicato dalla variabile di ambiente MAIL.

313.5.2   Cartelle e formato dei dati

Un programma MUA comune consente di organizzare i messaggi ricevuti e le copie di quelli trasmessi all'interno di cartelle. Queste cartelle possono essere delle directory contenenti i messaggi sotto forma di file differenti, oppure possono essere dei file singoli, a cui spesso si affiancano altri file contenenti dei puntatori ai vari messaggi interni.

La forma tradizionale di queste cartelle è quella conosciuta con il nome mailbox, corrispondente in pratica a quella del file usato per il recapito dei messaggi locali, come indicato dalla variabile di ambiente MAIL.

La gestione di cartelle in formato mailbox ha lo svantaggio di non offrire un metodo efficace per l'accesso simultaneo da parte di più programmi, tuttavia la corrispondenza è qualcosa di personale e difficilmente si utilizzano due o più programmi simultaneamente.

Nella situazione più semplice, il programma MUA gestisce le cartelle dei messaggi nel formato mailbox, in una directory, senza aggiungere altri file (riconoscendo tutti i file della directory come cartelle di messaggi). Eventualmente, alcune cartelle significative possono essere identificate dal programma MUA con un nome particolare, differente dal nome reale del file corrispondente. Per esempio, una di queste cartelle potrebbe chiamarsi «messaggi trasmessi» ed essere abbinata al file sentbox.

Sono pochi i programmi che ancora oggi si limitano all'uso del formato mailbox, senza associare degli indici, riconoscendo come cartelle tutti i file contenuti in una directory stabilita, ma sono solo questi che consentono di usare la posta elettronica sia con Mailx, sia con altri programmi compatibili. Appartengono a questa categoria Pine e Balsa, che vengono descritti in questo capitolo proprio per la loro compatibilità reciproca.

313.6   Invio di messaggi attraverso Sendmail o un altro MTA compatibile

È già stato mostrato brevemente come inviare un messaggio molto semplice attraverso l'uso dell'eseguibile /usr/lib/sendmail, che fa parte di Sendmail o di un altro MTA che conservi questa compatibilità. Questa forma di invio dei messaggi diventa molto importante per programmi molto semplici che hanno la necessità di inviare delle informazioni in forma di messaggi di posta elettronica, senza potersi servire di un MUA particolare. Il modello sintattico seguente mostra come strutturare un file contenente un messaggio di posta elettronica da inviare in questo modo:

To: [nominativo_del_destinatario ]<indirizzo_di_posta_elettronica_del_destinatario>
From: [nominativo_del_mittente ]<indirizzo_di_posta_elettronica_del_mittente>
[Cc: [nominativo_destinatario_in_copia ]<indirizzo_destinatario_in_copia>[, \
  \[nominativo_destinatario_in_copia ]<indirizzo_destinatario_in_copia>]...] [Bcc: [nominativo_destinatario_anonimo ]<indirizzo_destinatario_anonimo>[, \
  \[nominativo_destinatario_anonimo ]<indirizzo_destinatario_anonimo>]...] [altri_campi_particolari] ... [Subject: oggetto] testo_del_messaggio ... ...

Un file del genere, potrebbe assomigliare all'esempio seguente:

To: Tizio <tizio@dinkel.brot.dg>
From: Caio <caio@roggen.brot.dg>
Subject: ciao ciao

Ciao Tizio.
Quanto tempo che non ci si sente!

Se questo file viene chiamato lettera, lo si può spedire in modo molto semplice così:

cat lettera | /usr/lib/sendmail -t[Invio]

In questo modo, con l'opzione -t, si ottiene di far leggere l'indirizzo del destinatario dal file stesso.

L'invio di messaggi attraverso questo meccanismo diventa ancora più interessante quando avviene all'interno di uno script di shell. Il modello seguente fa riferimento all'uso di Bash per inviare all'utente root un rapporto su quanto svolto da un certo tipo di elaborazione; si può osservare che i comandi che costruiscono il messaggio vengono racchiusi tra parentesi tonde, per poter convogliare il loro flussi standard di uscita in modo complessivo verso /usr/lib/sendmail:

#!/bin/sh
(
echo "To: <root@localhost>"
echo "From: nome_di_comodo <root>"
echo "Subject: oggetto"
echo ""
echo "Il giorno `date` e\` stato eseguito il comando"
echo "comando che ha dato questo responso:"
comando_che_esegue_qualcosa
) 2>&1 | /usr/lib/sendmail -t
exit 0

Si intuisce che uno script realizzato secondo uno schema simile a quello appena mostrato, potrebbe essere avviato dal sistema Cron per svolgere automaticamente delle funzioni, avvisando convenientemente dell'esito l'amministratore del sistema.

Se non fosse chiaro, ecco come si potrebbe inviare all'amministratore il risultato del comando ls -l /:

#!/bin/sh
(
echo "To: <root@localhost>"
echo "From: ls <root>"
echo "Subject: oggetto"
echo ""
echo "Il giorno `date` e\` stato eseguito il comando"
echo "\"ls -l /\" che ha dato questo responso:"
ls -l /
) 2>&1 | /usr/lib/sendmail -t
exit 0

Nella sezione 316.9.3 viene mostrato come realizzare uno script che si avvale di Telnet per contattare un servente SMTP in modo diretto.

313.7   Mailx

Mailx (7) è il programma standard di gestione della posta elettronica, originariamente parte dello Unix BSD. Si tratta di un programma piuttosto scomodo da gestire, ma rappresenta lo standard ed è quasi indispensabile la sua presenza.

L'eseguibile mail prevede due file di configurazione, uno generale per tutto il sistema e uno particolare per ogni utente. Si tratta rispettivamente di /etc/mail.rc e ~/.mailrc.

Nella sua semplicità, mail è comunque un programma ricco di opzioni e di comandi per l'utilizzo interattivo. Tuttavia, di solito, è apprezzato solo nelle situazioni di emergenza, per cui è raro che venga sfruttato al massimo delle sue possibilità.

Per l'invio della posta, Mailx utilizza l'eseguibile sendmail, passandogli le informazioni attraverso la riga di comando e lo standard input. Questo particolare è importante se si considera la possibilità di utilizzare un MTA differente da Sendmail. Per la lettura dei messaggi ricevuti, Mailx legge il file specificato dalla variabile di ambiente MAIL; inoltre, generalmente salva i messaggi letti e non cancellati nel file ~/mbox (nella directory personale dell'utente).

313.7.1   Avvio e funzionamento

Il programma mail è l'eseguibile di Mailx. Con la sua semplicità ha il vantaggio di poter utilizzare lo standard input come fonte per un testo da inviare. Di conseguenza, è ottimo per l'utilizzo all'interno di script, anche se per questo si potrebbe richiamare direttamente l'eseguibile sendmail. La sintassi della riga di comando è molto semplice:

mail [opzioni] [destinatario...]

Segue la descrizione di alcune opzioni.

Opzione Descrizione
-v
Visualizza un maggior numero di informazioni.
-i
Ignora i segnali di interruzione.
-I
Forza un funzionamento interattivo.
-n
Non legge il file /etc/mail.rc quando viene avviato.
-N
Inibisce la visualizzazione delle intestazioni dei messaggi quando viene letta o modificata la cartella della posta.
-s oggetto
Permette di definire l'oggetto già nella riga di comando (se si intendono utilizzare spazi, l'oggetto deve essere racchiuso tra virgolette).
-c elenco_destinatari
Permette di definire un elenco di destinatari di una copia del documento (copia carbone). L'elenco degli indirizzi di destinazione è fatto utilizzando la virgola come simbolo di separazione.
-b elenco_destinatari
Permette di definire un elenco di destinatari di una copia carbone che non vengono menzionati nell'intestazione del documento (blind carbon copy). L'elenco degli indirizzi di destinazione è fatto utilizzando la virgola come simbolo di separazione.
-f cartella_della_posta
Permette di leggere la posta contenuta all'interno di un file determinato.

Il programma mail, se avviato allo scopo di leggere la posta, mostra un elenco dei messaggi presenti e attende che gli vengano impartiti dei comandi in modo interattivo. Per questo mostra un invito (prompt), formato dal simbolo &.

Ognuno di questi comandi ha un nome, che spesso può essere abbreviato alla sola iniziale. L'elenco di questi comandi è molto lungo e può essere letto dalla documentazione interna, mail(1). Qui viene descritto solo l'utilizzo più comune, con i comandi relativi.

313.7.2   Configurazione di Mailx

Si è già accennato al fatto che Mailx utilizzi due file di configurazione: /etc/mail.rc per tutto il sistema e ~/.mailrc per le particolarità di ogni utente. Le direttive di questo file sono gli stessi comandi che possono essere impartiti a mail durante il suo funzionamento interattivo.

In generale, si utilizzano prevalentemente i comandi set e unset, che permettono l'attivazione o la disattivazione di alcune modalità di funzionamento, consentendo anche la definizione di alcune opzioni che prevedono l'indicazione di un'informazione precisa.

Segue la descrizione di alcune modalità di funzionamento controllate dai comandi set e unset.

Direttiva Descrizione
set append
unset append
L'attivazione di questa modalità fa sì che i messaggi salvati nel file ~/mbox siano aggiunti in coda, invece che inseriti all'inizio.
set ask
unset ask
set asksub
unset asksub
L'attivazione di questa modalità fa sì che mail richieda l'indicazione dell'oggetto prima di consentire l'inserimento del testo del messaggio.
set askcc
unset askcc
L'attivazione di questa modalità fa sì che mail richieda l'indicazione di destinatari aggiuntivi in copia carbone alla fine dell'inserimento del messaggio.
set askbcc
unset askbcc
L'attivazione di questa modalità fa sì che mail richieda l'indicazione di destinatari aggiuntivi in copia carbone nascosta (bcc) alla fine dell'inserimento del messaggio.
set dot
unset dot
L'attivazione di questa modalità fa sì che mail consenta l'uso di un punto isolato per terminare l'inserimento di un messaggio.
set hold
unset hold
L'attivazione di questa modalità fa sì che mail conservi i messaggi letti nella cartella (senza trasferirli in ~/mbox), se questi non vengono cancellati esplicitamente.
set ignoreeof
unset ignoreeof
L'attivazione di questa modalità fa sì che mail non permetta l'uso del codice di EOF ([Ctrl d]) per terminare l'inserimento di un messaggio.

Segue la descrizione di altre opzioni.

Direttiva Descrizione
set EDITOR=programma
Permette di definire il percorso assoluto del programma che si vuole utilizzare per la modifica del testo di un messaggio, quando viene richiesto espressamente durante il suo inserimento, attraverso la sequenza di escape ~e.
set VISUAL=programma
Permette di definire il percorso assoluto del programma che si vuole utilizzare per la modifica del testo di un messaggio, quando viene richiesto espressamente durante il suo inserimento, attraverso la sequenza di escape ~v.
set PAGER=programma
Permette di definire il percorso assoluto del programma che si vuole utilizzare per scorrere il contenuto di un messaggio quando questo viene letto attraverso mail. Perché funzioni correttamente, occorre definire anche l'opzione crt.
set crt=n-righe
Permette di definire il numero di righe di altezza dello schermo, in modo da poter gestire correttamente il programma di impaginazione visuale (more o less).
set MBOX=percorso
Permette di definire il percorso assoluto del file da utilizzare per salvare i messaggi, al posto di ~/mbox.
set record=percorso
Permette di definire il percorso assoluto di un file da utilizzare per salvare una copia dei messaggi che vengono inviati.
set folder=percorso
Permette di definire il percorso assoluto di una directory contenenti file corrispondenti a cartelle di messaggi.

Segue la descrizione di alcuni esempi.

set append dot save asksub

Quello che si vede sopra è il contenuto del file di configurazione generale tipico (il file /etc/mail.rc).

set MBOX=/home/tizio/mail/ricevuta
set record=/home/tizio/mail/spedita
set folder=/home/tizio/mail

L'esempio si riferisce a un file di configurazione personale, ovvero ~/.mailrc, dove l'utente vuole gestire la sua posta nella directory ~/mail/ (si tratta dell'utente tizio), dove possono trovarsi anche altri file intesi come cartelle di messaggi.

set MBOX="$HOME/mail/ricevuta"
set record="$HOME/mail/spedita"
set folder="$HOME/mail"

Questo esempio produce lo stesso risultato di quello precedente, con la differenza che i percorsi includono la variabile di ambiente HOME, che si espande nella directory personale dell'utente; in questo modo, tale configurazione potrebbe anche essere generalizzata e inserita nel file /etc/mail.rc.

313.8   Nail

Nail (8) è un programma funzionalmente simile a Mailx, che consente l'uso di allegati MIME ed è in grado di servirsi direttamente di un servente SMTP per l'invio dei messaggi.

Anche la configurazione è compatibile con quella di Mailx, tanto che viene utilizzato lo stesso file ~/.mailrc per gli utenti, mentre la configurazione generale è contenuta nel file /etc/nail.rc per sicurezza.

313.9   Pine

pericolo: software non libero software non libero: non è consentita la distribuzione di versioni modificate

Pine (9) è un programma per la gestione della posta più potente e pratico rispetto al normale Mailx, che consente eventualmente anche la lettura delle news.

In particolare, per l'invio dei messaggi, Pine utilizza il protocollo SMTP, cosa che permette di utilizzarlo anche senza avere installato Sendmail localmente, o un altro MTA simile. Infatti, spesso si utilizza la posta elettronica soltanto per Internet, disponendo di un solo elaboratore personale, senza alcuna necessità di gestire la posta elettronica locale. In questi casi, Sendmail e Mailx, potrebbero essere considerati dei componenti inutili (o quasi) del sistema.

Generalmente si avvia l'eseguibile pine senza argomenti. La prima volta che ogni utente lo utilizza, crea una directory ~/mail contenente ~/mail/saved-messages e ~/mail/sent-mail entrambi vuoti; inoltre prepara un file di configurazione, ~/.pinerc. Dopo una prima schermata di presentazione, Pine mostra il suo menù (figura 313.22).

Figura 313.22. Menù principale di Pine.

       ?     HELP               -  Get help using Pine

       C     COMPOSE MESSAGE    -  Compose and send a message

       I     FOLDER INDEX       -  View messages in current folder

       L     FOLDER LIST        -  Select a folder to view

       A     ADDRESS BOOK       -  Update address book

       S     SETUP              -  Configure or update Pine

       Q     QUIT               -  Exit the Pine program

   Copyright 1989-1999.  PINE is a trademark of the University of Washington.

? Help                     P PrevCmd                  R RelNotes
O OTHER CMDS L [ListFldrs] N NextCmd                  K KBLock

Probabilmente, la cosa più utile da fare la prima volta che si utilizza questo programma, è quella di configurarlo, utilizzando la lettera S come sinonimo di Setup. Si ottiene un sottomenù:

Choose a setup task from the menu below :
? Help        P [Printer]   C Config     S Signature
^C Cancel     N Newpassword U Update

Premendo la lettera C come sinonimo di Config si arriva alla maschera di configurazione. La maschera non può essere contenuta tutta in una sola schermata, di conseguenza, si utilizzano la [barra spaziatrice] per scorrerla in avanti e il segno [-] per scorrerla all'indietro. Quella seguente è la prima parte della configurazione predefinita (cioè quella iniziale) dell'utente tizio.

personal-name            = <  No Value Set: using "Tizio">  
user-domain              = <  No Value Set>  
smtp-server              = <  No Value Set>  
nntp-server              = <  No Value Set>  
inbox-path               = <  No Value Set: using "inbox">  
folder-collections       = <  No Value Set: using mail/[]>  
news-collections         = <  No Value Set>  
incoming-archive-folders = <  No Value Set>  
pruned-folders           = <  No Value Set>  
default-fcc              = <  No Value Set: using "sent-mail">  
default-saved-msg-folder = <  No Value Set>  
postponed-folder         = <  No Value Set: using "postponed-msgs">  
read-message-folder      = <  No Value Set>  
signature-file           = <  No Value Set: using ".signature">  
global-address-book      = <  No Value Set>  
address-book             = <  No Value Set: using .addressbook>  
...

Vale la pena di definire almeno la prima parte. Per inserire un dato nuovo si usa la lettera a come sinonimo di add, mentre per modificare un valore preesistente si uilizza la lettera c come sinonimo di change. Per cancellare una voce si utilizza la lettera d come sinonimo di delete. Alcune voci consentono l'inserimento di dati multipli utilizzando una successione di richieste di inserimento.

313.9.1   Elementi di configurazione

Segue un elenco parziale degli elementi che possono essere configurati, assieme a una breve descrizione del loro significato.

Direttiva Descrizione
personal-name
Si riferisce al nome che si vuole fare apparire come mittente della posta inviata.
user-domain
Si tratta del dominio dell'utente, ovvero l'indirizzo dell'elaboratore presso il quale si vuole ricevere la posta.
smtp-server
Si tratta dell'indirizzo dell'elaboratore attraverso il quale si invia la posta: potrebbe trattarsi del nome completo del proprio elaboratore, nel caso si voglia gestire un servente SMTP locale, di un altro all'interno della propria rete locale, o di quello offerto dal fornitore di accesso a Internet.
nntp-server
È l'indirizzo dell'elaboratore utilizzato per il servizio NNTP (Network news transfer protocol), quello che quindi permette di accedere a Usenet. Possono essere indicati diversi serventi NNTP.
inbox-path
Indica il percorso assoluto del file usato come cartella della posta in ingresso. In un sistema normale potrebbe trattarsi di /var/mail/utente, oppure di qualunque altro file se il proprio sistema è configurato diversamente per la gestione della posta.
folder-collections
Letteralmente è la raccolta delle cartelle. Si riferisce alle directory contenenti file di posta. Pine crea la directory ~/mail, ma ne possono essere usate diverse contemporaneamente. Ogni directory indicata è seguita da due parentesi quadre: una aperta e una chiusa.
news-collections
Permette di definire le collezioni di news a cui si è interessati.
incoming-archive-folders
Permette di definire una serie di coppie di cartelle di posta (le coppie sono separate da uno spazio) per il salvataggio automatico della posta letta. Quando si legge la posta contenuta nelle cartelle di ingresso (la prima cartella di ogni coppia), automaticamente, questa viene segnata come letta e trasferita nelle cartelle di archiviazione (la seconda cartella di ogni coppia). Questa funzionalità viene attivata attraverso l'opzione auto-move-read-messages.
pruned-folders
Permette di definire l'elenco di cartelle che possono essere potate mensilmente come già definito automaticamente per la cartella della posta inviata. Con questo termine, potatura, si intende l'archiviazione delle cartelle in questione ogni mese, utilizzando un nome preceduto dal nome del mese. Contemporaneamente si intende la cancellazione di eventuali archivi della stessa serie di mesi precedenti.
default-fcc
Definisce il file destinatario di una copia carbone dei messaggi inviati (File carbon copy). Il valore predefinito corrisponde in pratica a ~/mail/sent-mail.
default-saved-msg-folder
Definisce il file predefinito per il salvataggio dei messaggi.
postponed-folder
Definisce il file utilizzato per contenere i messaggi sospesi che devono essere inviati in seguito. Il valore predefinito corrisponde in pratica a ~/mail/postponed-msgs.
read-message-folder
Permette di definire una cartella (cioè un file) da utilizzare per scaricare automaticamente lì la posta letta.
signature-file
Definisce il nome del file da utilizzare come firma, ovvero come parte terminale standard dei propri messaggi.
address-book
Definisce il nome del file usato come rubrica personale di indirizzi. Il valore predefinito corrisponde a ~/.address-book.
feature-list
Permette di configurare una serie di opzioni di Pine. Per selezionare o deselezionare una di queste opzioni, si utilizza la lettera X.
initial-keystroke-list
Consente di indicare una sequenza di tasti (una macro) da premere automaticamente ogni volta che si avvia Pine.
default-composer-hdrs
Permette di definire la parte di intestazione dei messaggi che si intendono utilizzare. Se viene utilizzata questa indicazione, occorre definire tutte le parti dell'intestazione dei messaggi.
customized-hdrs
Definisce la parte di intestazione aggiuntiva da utilizzare nei messaggi quando si specifica espressamente di voler utilizzare la cosiddetta intestazione ricca.
In certi casi è importante poter definire un elemento particolare nell'intestazione, per esempio quando si ha la necessità di comandare un programma di gestione di una lista di posta elettronica. Nel caso particolare di SmartList, l'amministratore di una lista ha la necessità di aggiungere l'intestazione X-Command.
sort-key
Permette di definire l'ordine in cui devono apparire i messaggi all'interno delle varie cartelle.
addrbook-sort-rule
Permette di definire l'ordine in cui devono apparire gli indirizzi della rubrica.
character-set
Permette di definire la codifica utilizzata per la composizione del testo. Il valore predefinito è US-ASCII, altri valori potrebbero essere ISO-8859-n, dove n rappresenta un numero compreso tra uno e nove, oppure 13 o 15; infine, è possibile indicare anche UTF-8, per l'insieme di caratteri universale.
editor
Permette di specificare il nome di un programma per la scrittura di testi alternativo a quello fornito da Pine, che poi può essere utilizzato attraverso la combinazione [Ctrl _] (ovvero [Ctrl -] nel caso della tastiera italiana).
Per attivare questa funzione, oltre a indicare qui il nome del programma alternativo, occorre impostare anche l'opzione enable-alternate-editor-cmd. eventualmente, si può imporre l'uso sistematico di questo programma esterno, attivando anche l'opzione enable-alternate-editor-implicitly.
speller
Permette di indicare il programma da utilizzare per il controllo ortografico. Quando il controllo ortografico viene richiesto durante la fase di composizione di un messaggio attraverso la sequenza [Ctrl t], Pine invia al programma indicato un file temporaneo contenente il testo da controllare.
composer-wrap-column
Permette di definire la larghezza massima del testo in fase di composizione dei messaggi.
reply-indent-string
Permette di definire la stringa (ovvero il simbolo) da usare per evidenziare il testo proveniente dal messaggio al quale si sta rispondendo. Se si vuole che questa stringa contenga le iniziali del nome della persona che l'ha scritto, si può utilizzare la variabile _INIT_ che viene poi sostituita con questo nome. Per esempio si potrebbe utilizzare la stringa seguente:
"_INIT_>"
empty-header-message
Quando si invia posta utilizzando indirizzi solo su Bcc (Blind carbon copy) e lasciando quindi vuoti i campi To, Cc e Newsgroup, Pine mette un indirizzo speciale nel campo To. Ciò viene fatto per evitare problemi con alcuni programmi per il trasferimento della posta che autonomamente tendono a riempire questo campo con il destinatario apparente del messaggio, vanificando il senso della posta inviata utilizzando il Blind carbon copy. Il valore predefinito di questo destinatario inesistente è Undisclosed recipients.
image-viewer
Permette di definire il programma da utilizzare per visualizzare le immagini allegate ai messaggi (allegati MIME).
use-only-domain-name
Questa opzione viene utilizzata solo se non viene definita la voce user-domain corrispondente al nome dell'elaboratore presso il quale si vuole ricevere la posta.

Alla fine, la parte iniziale della maschera di configurazione potrebbe apparire come la seguente:

personal-name            = Tizio Tizi
user-domain              = weizen.mehl.dg
smtp-server              = weizen.mehl.dg
nntp-server              = news.notiziario.dg
inbox-path               = /var/mail/tizio
folder-collections       = ~/Mail/[]
news-collections         = <No Value Set>
incoming-archive-folders = <No Value Set>
pruned-folders           = <No Value Set>
default-fcc              = sent-mail
default-saved-msg-folder = saved-mail
postponed-folder         = postponed-msgs
read-message-folder      = <No Value Set>
signature-file           = ~/.signature"
global-address-book      = <No Value Set>
address-book             = ~/.addressbook

313.9.2   File di configurazione

La configurazione che si definisce in modo interattivo, viene salvata nel file ~/.pinerc (nella directory personale dell'utente). Questo file risulta essere commentato molto bene e può essere comodo ritoccare qualche direttiva direttamente al suo interno, senza passare per la procedura interattiva.

Oltre ai file di configurazione personali, ne esiste uno generale, /etc/pine.conf, che serve per definire un'impostazione generale predefinita, lasciando agli utenti la possibilità di modificare ciò che interessa nella configurazione personale. La sintassi per le direttive di questo file è la stessa di quella dei file personalizzati, ma in generale si lascia quanto fornito in modo predefinito dalla distribuzione del programma.

Infine, esiste la possibilità di definire una configurazione generale che non può essere cambiata dalla configurazione personale degli utenti. Si tratta del file /etc/pine.conf.fixed e il suo utilizzo può essere utile per evitare errori di configurazione agli utenti. Ecco un esempio di ciò che potrebbe contenere questo file:

#      /etc/pine.conf.fixed -- system wide pine configuration FIXED
#

# Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox
# Normal Unix default is the local INBOX (usually /usr/spool/mail/$USER).
inbox-path=~/mail/inbox

# List of directories where saved-message folders may be. First one is
# the default for Saves. Example: Main {host1}mail/[], Desktop mail\[]
# Syntax: optnl-label {optnl-imap-hostname}optnl-directory-path[]
folder-collections=~/mail/[]

# List of SMTP servers for sending mail. If blank: Unix Pine uses sendmail.
smtp-server=mail.brot.dg

In questo modo, si impone agli utenti l'uso del file ~/mail/inbox per ricevere la posta, cosa che deriva presumibilmente dalla configurazione del sistema di consegna locale; viene definito anche i file per la raccolta dei messaggi si trovano solo nella directory ~/mail/; infine si stabilisce che i messaggi devono essere inviati esclusivamente attraverso il servente SMTP mail.brot.dg.

313.10   Mutt

Mutt (10) è un programma per la gestione della posta per terminali a caratteri, comparabile a Pine.

Per l'invio dei messaggi, Mutt utilizza /usr/sbin/sendmail, che può riguardare precisamente Sendmail o un altro MTA compatibile, oppure può utilizzare un programma differente, ma con lo stesso comportamento, purché specificato nella configurazione. In pratica, Mutt non gestisce da solo il protocollo SMTP.

Mutt si compone dell'eseguibile mutt, che di solito si avvia senza argomenti, e prevede la presenza di diversi file di configurazione; in particolare /etc/Muttrc per tutto il sistema e ~/.muttrc (o ~/.mutt/muttrc) per le particolarità dei singoli utenti.

Una caratteristica molto importante di Mutt è la capacità di gestire formati differenti per le cartelle di posta elettronica. In particolare, il formato predefinito è attualmente il tipo mailbox, che consente un utilizzo simultaneo ad altri MUA tradizionali.

La configurazione di Mutt prevede direttive di vari tipi; in particolare si distinguono quelle che servono a definire delle «variabili», perché iniziano con la parola chiave set. La tabella seguente descrive alcune di queste direttive che vale la pena di conoscere per modificare l'impostazione predefinita della configurazione. Si osservi che Mutt può utilizzare direttamente i protocolli POP3 e IMAP, ma la configurazione relativa non viene mostrata.

Tabella 313.28. Alcune direttive di configurazione di Mutt.

Direttiva Descrizione
set mbox_type="mbox|MMDF|MH|Maildir"
Definisce il tipo di cartelle di posta. Quello tradizionale è indicato attraverso la parola chiave mbox.
set spoolfile="file"
Definisce il percorso che identifica il file contenente i messaggi di posta in ingresso. In mancanza di questa indicazione, Mutt utilizza il contenuto della variabile di ambiente MAIL.
set mbox="file"
Definisce il percorso che identifica il file in cui vanno collocati i messaggi letti. In mancanza di questa indicazione, Mutt utilizza il file ~/mbox.
set record="file"
Definisce il percorso che identifica il file in cui vanno collocati i messaggi inviati.
set postponed="file"
Definisce il percorso che identifica il file in cui vanno collocati i messaggi sospesi (da completare o inviare in seguito).
set folder="directory"
Definisce il percorso che identifica una directory in cui cercare le cartelle di posta. In mancanza di questa indicazione, Mutt utilizza la directory ~/Mail/.
set signature="file"
set signature="comando|"
Definisce il percorso che identifica un file il cui contenuto va aggiunto automaticamente in coda ai messaggi da inviare, come «firma». In mancanza di questa indicazione, Mutt utilizza il file ~/.signature. Come si vede dal modello sintattico, se il file termina con una barra verticale (|), si intende trattarsi dello standard output di un comando, da usare per ottenere qualcosa di dinamico.
set editor="comando"
Definisce il programma da usare per la creazione e la modifica di file di testo; principalmente per scrivere e modificare i messaggi di posta elettronica da inviare. Se non è indicato, si fa riferimento alle variabili di ambiente VISUAL, EDITOR, o in mancanza al programma /usr/bin/editor.
set attribution="stringa"
Definisce la stringa da inserire prima di un testo citato. In mancanza di questa indicazione si usa la stringa: On %d, %n wrote:. Si possono usare le sequenze descritte in parte nella tabella 313.29.
set indent_string="stringa"
Definisce la stringa da usare per evidenziare il testo citato del messaggio a cui si risponde. In mancanza di questa indicazione si usa il simbolo di maggiore seguito da uno spazio: . Si possono usare le sequenze descritte in parte nella tabella 313.29.
set use_from="yes|no"
Abilita o disabilita l'inserimento automatico del nominativo utente nel campo From:. Al posto di abilitare questa funzionalità, si può usare la direttiva my_hdr per definire il campo From: in modo preciso.
my_hdr nome: valore
Dichiara un campo particolare dell'intestazione, con il valore da assegnare (si usa preferibilmente nella configurazione personalizzata del singolo utente).
my_hdr From: nome_utente <indirizzo>
Dichiara in modo preciso il campo From: (conviene usare questa dichiarazione soltanto nella configurazione personalizzata del singolo utente).

Tabella 313.29. Alcune sequenze speciali che vengono sostituite da Mutt all'interno delle stringhe.

Macro Risultato
%a
Indirizzo dell'autore del messaggio.
%d
Data e orario del messaggio dal punto di vista del mittente.
%D
Data e orario del messaggio dal punto di vista locale.
%f
Contenuto del campo From:.
%n
Nome dell'autore, o in mancanza si fa riferimento all'indirizzo di posta elettronica dello stesso.
%s
Oggetto del messaggio.
%t
Contenuto del campo To:.

Avviando l'eseguibile mutt la prima volta, è probabile che si veda la richiesta di creare la directory da usare per contenere le cartelle di posta; quindi si accede normalmente all'elenco dei messaggi disponibili nella cartella di posta in entrata, come si vede nella figura 313.30.

Figura 313.30. Aspetto di Mutt all'avvio.

q:Quit  d:Del  u:Undel  s:Save  m:Mail  r:Reply  g:Group  ?:Help
   1     Apr 26 Fulvio Ferroni  (  31) Re: Nano OK
   2     Apr 27 Tizio Tizi      (   4) Bla bla bla











---Mutt: ~/mail/mbox [Msgs:2 Post:2 3.4K]---(threads/date)--------------(all)---

Il funzionamento di Mutt dipende dalla localizzazione, pertanto alcune risposte da dare alle domande che vengono proposte richiedono lettere differenti a seconda di questa. La figura mostra in particolare il funzionamento per le convenzioni della lingua inglese, dove si vede la presenza di due soli messaggi.

Quando Mutt si trova in una condizione del genere, ovvero quando mostra l'elenco di messaggi contenuto in una certa cartella (la figura mostra la cartella corrispondente al file ~/mail/mbox), si dice che è in modalità «indice». Durante questa modalità di funzionamento, possono essere impartiti dei comandi, costituiti generalmente da lettere singole, una piccola parte dei quali viene riassunta sulla prima riga dello schermo. La tabella 313.31 descrive brevemente parte dei comandi validi quando appare un elenco di messaggi. Si osservi che la maggior parte dei comandi richiede poi una conferma o l'indicazione di altri dati, attraverso messaggi che appaiono nell'ultima riga dello schermo.

Tabella 313.31. Alcuni comandi validi quando si sta scorrendo un elenco di messaggi.

Tasto, sequenza o combinazione di tasti Termine mnemonico Descrizione
[m] mail Richiede di scrivere un messaggi di posta elettronica. Se sono disponibili messaggi rimasti in sospeso, viene richiesto se si intendono riprendere.
[r] reply Risponde al mittente del messaggio evidenziato.
[b] bounce Invia una copia del messaggio a un altro indirizzo.
[f] forward Rinvia una copia del messaggio a un altro indirizzo.
[g] group Risponde al mittente e a tutti i destinatari del messaggio evidenziato.
[L] list Risponde all'indirizzo che sembra appartenere a una lista di posta elettronica, indicato nel messaggio evidenziato.
[c] change Passa a un'altra cartella di messaggi. Viene richiesto di indicare il nome della cartella, oppure è possibile selezionarla da un elenco.
[Esc][c] change Passa a un'altra cartella di messaggi, ma in sola lettura.
[C] copy Copia il messaggio corrente in un'altra cartella di posta.
[d] delete Cancella il messaggio corrente.
[u] undelete Toglie la richiesta di cancellazione al messaggio corrente.
[o] order Cambia il metodo di riordino dei messaggi.
[O] order Inverte l'ordine dei messaggi (in base al tipo di ordinamento attuale).
[q] quit Salva le modifiche e conclude il funzionamento di Mutt.
[x] exit Annulla le modifiche e termina il funzionamento.
[Invio] Visualizza il messaggio selezionato.
[v] view Visualizza gli allegati.
[/] Cerca una stringa (da inserire subito dopo), tra i dati che si vedono nell'elenco.
[p] print Stampa il messaggio selezionato.
[Ctrl l] Ridisegna lo schermo.

Come si vede dalla tabella 313.31, per inviare un messaggio si comincia dal premere il tasto [m] (mail); viene richiesto di inserire l'indirizzo di destinazione e l'oggetto, quindi si passa all'inserimento del testo del messaggio, attraverso un programma per la modifica di file di testo. Al termine della stesura del testo, lo si deve salvare e quindi è necessario uscire da quel programma, per ritornare sotto il controllo di Mutt, il quale potrebbe mostrare una schermata simile a quella seguente:

Figura 313.32. Aspetto di Mutt dopo l'inserimento di un messaggio e prima del suo invio.

y:Send  q:Abort  t:To  c:CC  s:Subj  a:Attach file  d:Descrip  ?:Help
    From:
      To: daniele@dinkel.brot.dg
      Cc:
     Bcc:
 Subject: ciao
Reply-To:
     Fcc: ~/mail/sentbox
     Mix: <no chain defined>
Security: Clear

-- Attachments
- I     1 /tmp/mutt-dinkel-3562-24         [text/plain, 8bit, iso-8859-1, 0.1K]



-- Mutt: Compose  [Approx. msg size: 0.1K   Atts: 1]---------------------------- 

Come si può vedere, non appare più il corpo del messaggio, che invece viene indicato come allegato. Per tornare alla modifica del messaggio basta premere la lettera [e] (edit), per spedire il messaggio si usa la lettera [y], mentre per completare altri campi dell'intestazione si usano comandi simili. La tabella 313.33 riepiloga i comandi più importanti, validi in questo contesto.

Tabella 313.33. Alcuni comandi validi quando si sta componendo un messaggio di posta elettronica.

Tasto, sequenza o combinazione di tasti Termine mnemonico Descrizione
[e] edit Torna alla modifica del messaggio.
[q] quit Annulla il messaggio e torna alla situazione precedente all'inserimento, con la possibilità di mantenere in sospeso il messaggio.
[t] to Modifica il destinatario.
[Esc][f] from Modifica il campo From:.
[c] cc Inserisce o modifica il campo Cc:.
[b] bcc Inserisce o modifica il campo Bcc:.
[f] fcc Inserisce o modifica il campo Fcc:, ovvero l'indicazione del file in cui salvare il messaggio, una volta spedito.
[s] subject Inserisce o modifica l'oggetto.
[r] reply-to Inserisce o modifica il campo Reply-To:.
[a] append Allega un file al messaggio.
[D] delete Elimina l'allegato o il messaggio selezionato.
[d] description Modifica la descrizione del messaggio o dell'allegato evidenziato.
[y] yes Invia il messaggio.
[P] postpone Sospende il messaggio, conservandolo per un secondo momento.
[Ctrl l] Ridisegna lo schermo.

Da un elenco di messaggi si passa alla visualizzazione di quello selezionato premendo semplicemente [Invio]; durante la visualizzazione di un messaggio, è possibile rispondere allo stesso premendo il tasto [r], oppure fare altre cose come descritto nella tabella 313.34.

Tabella 313.34. Alcuni comandi validi quando si sta visualizzando un messaggio.

Tasto, sequenza o combinazione di tasti Termine mnemonico Descrizione
[q] quit Annulla e torna alla situazione precedente.
[r] reply Risponde al mittente del messaggio visualizzato.
[g] group Risponde al mittente e a tutti i destinatari del messaggio visualizzato.
[L] list Risponde all'indirizzo che sembra appartenere a una lista di posta elettronica, indicato nel messaggio visualizzato.
[b] bounce Invia una copia del messaggio a un altro indirizzo.
[f] forward Rinvia una copia del messaggio a un altro indirizzo.
[h] header Mostra l'intestazione completa del messaggio, o ritorna all'intestazione ridotta.
[p] print Stampa il messaggio visualizzato.
[Ctrl l] Ridisegna lo schermo.

313.11   Balsa

Balsa(11) è un programma grafico per la gestione della posta elettronica, che consente l'accesso diretto al servente SMTP per l'invio dei messaggi e ai serventi POP3 per il prelievo dei messaggi ricevuti presso caselle postali remote.

La prima volta che si avvia Balsa, attraverso l'eseguibile balsa, viene proposta una configurazione iniziale e generalmente vengono creati dei file nella directory ~/mail/. Inoltre, viene cercato il file locale dei messaggi ricevuti nella directory /var/spool/mail/ (oppure /var/mail/, a seconda dell'impostazione del proprio sistema). A parte il resto della configurazione che dovrebbe essere abbastanza intuitivo, occorre tenere in considerazione che Balsa abbina il nome di una cartella di posta a un file, che non ha necessariamente lo stesso nome.

Balsa genera e aggiorna da solo il proprio file di configurazione, che ovviamente varia per ogni utente che lo utilizza, essendo ~/.gnome/balsa. Alle volte può essere conveniente controllare e modificare direttamente il contenuto di questo file, senza passare per la procedura grafica, perché questa può far perdere di vista ciò che in realtà si sta cercando di modificare.

[mailbox-Inbox]
Path=/home/tizio/mail/inbox
Type=LibBalsaMailboxMbox
Name=Posta ricevuta

[mailbox-Outbox]
Path=/home/tizio/mail/outbox
Type=LibBalsaMailboxMbox
Name=Posta in uscita

[mailbox-Sentbox]
Path=/home/tizio/mail/sentbox
Type=LibBalsaMailboxMbox
Name=Posta inviata

[mailbox-Draftbox]
Path=/home/tizio/mail/draftbox
Type=LibBalsaMailboxMbox
Name=Bozze

[mailbox-Trash]
Path=/home/tizio/mail/trash
Type=LibBalsaMailboxMbox
Name=Cestino

[Globals]
MailDir=/home/tizio/mail
OpenInboxOnStartup=false
Debug=false
AutoCloseMailbox=true
AutoCloseMailboxTimeout=10
OpenMailboxes=Mailbox Mailbox Mailbox 
RememberOpenMailboxes=false
EmptyTrash=false

[identity]
CurrentIdentity=default

[identity-default]
ReplyString=Re:
ForwardString=Fwd:
SignaturePath=/home/tizio/.signature
SigExecutable=false
SigSending=true
SigForward=false
SigReply=false
SigSeparator=false
SigPrepend=true
...

Purtroppo, è possibile commettere degli errori di configurazione, anche attraverso la guida grafica offerta dal programma stesso. In presenza di errori gravi, si compromette il funzionamento di Balsa e l'unico modo per rimediare è intervenire a mano nel file di configurazione, osservando intuitivamente il significato delle direttive contenute.

Osservando l'esempio di file di configurazione mostrato, si intuisce l'importanza di cinque cartelle di posta:

Oltre alle cartelle standard, tutti i file contenuti nella directory definita dalla direttiva LocalMailDir (normalmente corrisponde a ~/mail/), che non sono abbinati ad alcuna cartella particolare, diventano cartelle ulteriori, con lo stesso nome del file relativo.

Figura 313.36. La finestra principale di Balsa, con le cartelle di posta normali.

balsa

313.12   Configurazione compatibile tra Mailx, Nail, Pine, Mutt e Balsa

In questa sezione si vuole mostrare in che modo si possono configurare Mailx, Nail, Pine, Mutt e per consentire il loro utilizzo in modo indifferente, sulle stesse cartelle di messaggi.

Per prima cosa si deve decidere in quale directory devono essere contenuti i file, in formato mailbox, delle cartelle. Si suppone di usare la directory ~/mail/ per tutti gli utenti del sistema, stabilendo anche che la posta in ingresso viene consegnata nel file ~/mail/inbox.

In generale, per informare della presenza della cartella dei messaggi in ingresso basta impostare la variabile di ambiente MAIL. Per intervenire su tutti gli utenti si può intervenire nel file /etc/profile (nel caso di una shell compatibile con quella di Bourne), come in questo esempio:

MAIL="$HOME/mail/inbox"
export MAIL

Naturalmente, si deve provvedere a configurare anche il sistema di consegna locale dei messaggi, in modo che funzioni così, altrimenti la posta potrebbe risultare inserita in file all'interno della directory /var/mail/, o /var/spool/mail/, nonostante tutte le buone intenzioni.

Il passo successivo è la definizione di alcune cartelle, più o meno standard. Per esempio è necessario stabilire la collocazione della posta inviata, di quella che è in coda e di quella che è stata solo abbozzata (iniziata ma non completata). Si potrebbe stabilire questa associazione:

Cartella File corrispondente
posta in ingresso ~/mail/inbox
posta in uscita o in coda per l'invio ~/mail/outbox
posta spedita ~/mail/sentbox
posta letta ~/mail/readbox
bozze di messaggi da trasmettere ~/mail/draftbox
messaggi in attesa di essere eliminati ~/mail/trash

Non tutti i programmi che si intendono utilizzare richiedono tutte queste cartelle, ma almeno sono in grado di accedervi.

Si può stabilire anche l'uso di un file contenente una «firma», ovvero alcune righe da accodare a tutti i messaggi che vengono trasmessi. Per esempio, si può stabilire che debba trattarsi del contenuto del file ~/.signature.

Segue la porzione di configurazione da usare sia per il file /etc/mail.rc, sia per /etc/nail.rc, in favore di Mailx e di Nail:

set append
set folder="$HOME/mail"
set MBOX="$HOME/mail/readbox"
set record="$HOME/mail/sentbox"

In questo modo, Mailx e Nail traggono la posta in ingresso dal file ~/mail/inbox, perché così è annotato nella variabile di ambiente MAIL; inoltre i messaggi letti e quelli trasmessi vengono inseriti correttamente nelle cartelle previste. L'accesso alle altre cartelle di messaggi risulta comunque facilitato perché è stata indicata la directory ~/mail/ in modo predefinito.

Nel caso particolare di Nail, si può aggiungere anche l'indicazione del file da usare come firma:

set signature="$HOME/.signature"

Per quanto riguarda Pine, si potrebbe intervenire nel file /etc/pine.conf, o addirittura in /etc/pine.conf.fixed, se si vuole evitare che gli utenti possano commettere degli errori di configurazione:

inbox-path=~/mail/inbox
folder-collections=~/mail/[]
default-fcc=sentbox
postponed-folder=draftbox
default-saved-msg-folder=readbox
signature-file=~/.signature

Per quanto riguarda Mutt, si può intervenire nel file /etc/Muttrc:

set mbox_type="mbox"
set record="~/mail/sentbox"
set spoolfile="~/mail/inbox"
set mbox="~/mail/readbox"
set postponed="~/mail/draftbox"
set folder="~/mail/"

Eventualmente, se si vuole evitare che Mutt sposti la posta letta in modo automatico nella cartella relativa, è sufficiente indicare per questo la stessa cartella dei messaggi in ingresso:

set mbox_type="mbox"
set record="~/mail/sentbox"
set spoolfile="~/mail/inbox"
set mbox="~/mail/inbox"
set postponed="~/mail/draftbox"
set folder="~/mail/"

Purtroppo, per Balsa non è facile definire una configurazione generale; quello che segue è il file ~/.gnome/balsa che l'utente tizio potrebbe utilizzare inizialmente, coerentemente con quanto già definito:

[mailbox-Inbox]
Path=/home/tizio/mail/inbox
Type=LibBalsaMailboxMbox
Name=Posta ricevuta

[mailbox-Outbox]
Path=/home/tizio/mail/outbox
Type=LibBalsaMailboxMbox
Name=Posta in uscita

[mailbox-Sentbox]
Path=/home/tizio/mail/sentbox
Type=LibBalsaMailboxMbox
Name=Posta inviata

[mailbox-Draftbox]
Path=/home/tizio/mail/draftbox
Type=LibBalsaMailboxMbox
Name=Bozze

[mailbox-Trash]
Path=/home/tizio/mail/trash
Type=LibBalsaMailboxMbox
Name=Cestino

[Globals]
MailDir=/home/tizio/mail

[identity-default]
SignaturePath=/home/tizio/.signature

313.13   Ricerche nei file delle cartelle di messaggi

I file delle cartelle di posta elettronica in formato mailbox, sono file di testo organizzati secondo una certa struttura. All'interno di questi file è possibile eseguire delle ricerche con Grep, ma il vero problema è quello di identificare il messaggio che contiene la stringa o l'espressione cercata. Per questo conviene usare invece Grepmail, (12) ovvero un programma Perl che restituisce il messaggio intero e non soltanto la riga che corrisponde al modello di ricerca.

Grepmail non si limita a questo, consentendo anche una ricerca selettiva nel corpo dei messaggi, nell'oggetto, escludendo eventualmente gli allegati. Il suo utilizzo più semplice è quello rappresentato dall'esempio seguente:

grepmail "Tizi[oa]" ~/mail/sentbox | less[Invio]

In questo caso si cercano tutti i messaggi contenuti nel file ~/mail/sentbox che corrispondono in qualche modo con l'espressione regolare Tizi[oa]. Con l'ausilio di less, si scorrono facilmente sullo schermo.

Trattandosi di un programma scritto in Perl, le espressioni regolari che si possono utilizzare devono avere le caratteristiche di questo linguaggio di programmazione.

grepmail [opzioni] [-e] espressione_regolare [file_cartella_messaggi]...

Il modello sintattico mostra due particolarità: l'espressione regolare può essere indicata da sola oppure come argomento dell'opzione -e; i file delle cartelle dei messaggi possono essere forniti come argomenti finali della riga di comando, ma in loro mancanza, viene letto lo standard input. La tabella 313.45 riepiloga le altre opzioni più importanti.

Tabella 313.45. Opzioni più importanti di Grepmail.

Opzione Descrizione
-b
Esegue la ricerca esclusivamente nel corpo dei messaggi.
-h
Esegue la ricerca esclusivamente nell'intestazione del messaggi.
-i
Non distingue tra lettere maiuscole e minuscole.
-l
Emette solo il nome del file contenente i messaggi corrispondenti.
-M
Ignora gli allegati MIME di tipo binario.
-R
Cerca ricorsivamente nelle sottodirectory.
-v
Cerca i messaggi che non corrispondono al modello.
-d today|yesterday
Seleziona solo i messaggi di oggi o di ieri.
-d mm/gg/aaaa
Seleziona solo i messaggi di una certa data.
-d {n days ago|n weeks ago}
Seleziona solo i messaggi di n giorni o settimane fa.
-d {before|after|since}data
I messaggi più vecchi, più recenti, o a partire da una data di riferimento.
-d between data and data
Seleziona solo i messaggi compresi tra due date.
-e espressione_regolare
Dichiara espressamente il modello di ricerca.

Vengono mostrati solo alcuni esempi.

grepmail -h -i "From: .*pinco@dinkel.brot.dg" ~/mail/* | less[Invio]

Cerca tutti i messaggi nella directory ~/mail/ che sono stati inviati presumibilmente da pinco@dinkel.brot.dg. Il risultato viene fatto scorrere con l'aiuto di less.

grepmail -h -i "From: .*pinco@dinkel.brot.dg" ~/mail/* > pinco[Invio]

grepmail -h -i -v "From: .*pinco@dinkel.brot.dg" ~/mail/* > altri[Invio]

I due comandi servono a estrarre tutti i messaggi provenienti presumibilmente da pinco@dinkel.brot.dg, per generare il file pinco, mettendo tutto il resto in un file denominato altri.

grepmail -h -d "since 7 days ago" -i \
  \-e "From: .*pinco@dinkel.brot.dg" ~/mail/* | less
[Invio]

Cerca tutti i messaggi nella directory ~/mail/ che sono stati inviati presumibilmente da pinco@dinkel.brot.dg entro gli ultimi sette giorni. Il risultato viene fatto scorrere con l'aiuto di less.

313.14   Programmi accessori

Una discreta quantità di programmi accede al file usato come cartella dei messaggi in ingresso per dare delle informazioni all'utente. Generalmente si tratta di programmi che avvisano quando viene aggiunto un messaggio nuovo alla cartella, ma può trattarsi anche di qualcosa di diverso.

Tra questi programmi varrebbe la pena di annotare anche biff, che ha lo scopo di avvisare l'utente quando arriva un messaggio nuovo, mostrando anche qualche informazione sul messaggio stesso. Tuttavia, biff richiede la presenza di un demone, corrispondente al programma comsat, il quale deve essere avvisato della consegna di ogni messaggio, da parte del MDA locale. Questo meccanismo fa sì che la predisposizione del funzionamento di biff sia più complicata che utile.

313.15   Utilizzo di «from»

Il programma from (13) si limita a leggere il file che dovrebbe costituire la cartella dei messaggi in ingresso (di solito si tratta di /var/mail/utente o del nome contenuto nella variabile di ambiente MAIL), mostrando un elenco dei mittenti dei messaggi stessi:

from [opzioni] [utente]

Attraverso le opzioni è possibile limitare l'interesse ai messaggi provenienti da un certo mittente, oppure è possibile dichiarare quale file usare per il controllo della posta.

Tabella 313.46. Alcune opzioni della riga di comando di from.

Opzione Significato mnemonico Descrizione
-c
count Con questa opzione si vuole sapere soltanto quanti sono i messaggi presenti nella cartella della posta in ingresso.
-f file
file Specifica di leggere i dati dal file indicato, rinunciando a usare quello che invece potrebbe essere quello predefinito.
-s mittente
sender Con questa opzione si richiede di visualizzare solo le informazioni sui messaggi provenienti da un mittente a cui corrisponde la stringa indicata.

Vengono mostrati alcuni esempi, senza spiegazione, in cui si usa from con opzioni diverse:

from -c[Invio]

There are 7 messages in your incoming mailbox.

from[Invio]

From tizio@dinkel.brot.dg Sat Sep 11 07:58:41 2004
From caio@dinkel.brot.dg Sat Sep 11 07:59:16 2004
From sempronio@dinkel.brot.dg Sat Sep 11 08:21:08 2004
From mevio@dinkel.brot.dg Sat Sep 11 08:27:59 2004
From filano@dinkel.brot.dg Sat Sep 11 08:30:47 2004
From martino@roggen.brot.dg Mon Sep 13 08:10:21 2004
From calpurnio@roggen.brot.dg Mon Sep 13 08:10:27 2004

from -s dinkel[Invio]

From tizio@dinkel.brot.dg Sat Sep 11 07:58:41 2004
From caio@dinkel.brot.dg Sat Sep 11 07:59:16 2004
From sempronio@dinkel.brot.dg Sat Sep 11 08:21:08 2004
From mevio@dinkel.brot.dg Sat Sep 11 08:27:59 2004
From filano@dinkel.brot.dg Sat Sep 11 08:30:47 2004

from -s tizio[Invio]

From tizio@dinkel.brot.dg Sat Sep 11 07:58:41 2004

from -f mail/sentbox[Invio]

From daniele Tue Apr 20 07:48:08 2004
From daniele Wed May  5 14:21:49 2004
From daniele Wed May  5 14:23:10 2004

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) Sendmail   software non libero: non è consentita la commercializzazione a scopo di lucro

2) Sendmail   software non libero: non è consentita la commercializzazione a scopo di lucro

3) La tradizione richiede che l'eseguibile sendmail sia collocato nella directory /usr/lib/, ma dal momento che questo fatto va in contrasto con la logica di una gerarchia ordinata del file system, in pratica si tratta solitamente di un collegamento simbolico a un eseguibile che si trova in una posizione più appropriata.

4) Ci sono altri MTA, simili a Sendmail, che utilizzano questo file senza bisogno di trasformazioni.

5) In effetti, la directory /var/spool/mqueue/ e il suo contenuto non possono essere accessibili agli utenti comuni, altrimenti i messaggi in partenza potrebbero essere letti.

6) Naturalmente, questo discorso vale se si sta usando un servente SMTP locale per ottenere l'invio del messaggio.

7) Mailx   UCB BSD

8) Nail   UCB BSD e altre

9) Pine   software non libero: non è consentita la distribuzione di versioni modificate

10) Mutt   GNU GPL

11) Balsa   GNU GPL

12) Grepmail   GNU GPL

13) BSD utils   UCB BSD


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome utilizzo_e_gestione_elementare_della_posta_elettronica.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!