Make About Copertina VFS

Articoli


Costruire una mailing list con sendmail e interfacciarla al Web con MHonArc

Premessa

Un problema che ricorre frequentemente nell'amministrazione di un sistema Linux, o Unix in generale, è la necessità di contattare collettivamente un certo numero di persone. La soluzione al problema è naturalmente la creazione di una mailing list, e gli strumenti per attivarne una sono parecchi. Una possibilità, ad esempio, è quella di installare il celeberrimo Majordomo e impararne la configurazione e l'utilizzo, il che richiede un minimo di tempo. Ora, per dirla alla Larry Wall, supponiamo che il vostro capo entri nel vostro ufficio e vi dica: "Voglio queste quattro mailing list attive fra un'ora". È probabile che non abbiate la possibilità di fare tutte queste cose in così poco tempo, e cercherete di sfruttare gli strumenti standard di Linux: vedremo quali sfruttare e come.

Ma supponiamo anche che dopo 55 minuti voi andiate dal capo, fieri e orgogliosi del vostro lavoro, e gli diciate: "Fatto capo! Ho attivato le mailing list sysadmin, dattilografi, impiegati e segretarie, come mi aveva chiesto", e che il vostro capo vi risponda "Bravo Fantozzi, bel lavoro! Visto che è così bravo riuscirà sicuramente ad approntare una interfaccia Web delle liste entro domani sera, vero!?". Se a questo punto pensate che la vostra sorte sia segnata non preoccupatevi, faremo in modo che non siate licenziati, almeno per ora!

Scherzi a parte, questo articolo è il resoconto di una esperienza diretta, fatta sul server del GULCh. La necessità di attivare con urgenza tutti i servizi essenziali, come la mailing list e la sua interfaccia web, ci ha imposto di partire da una configurazione di emergenza, da affinare strada facendo. E in attesa di installare Majordomo ed imparare ad usarlo abbiamo sfruttato il sendmail standard di Linux. Per l'interfacciamento al Web abbiamo cominciato con Hypermail, che ben presto si è rivelato completamente inaffidabile. Siamo quindi passati a MHonArc, del quale al momento siamo abbastanza soddisfatti. Vedremo quindi come configurare sendmail per costruire delle semplici mailing list e come utilizzare MHonArc per creare archivi HTML, ordinati per thread e per data, dei messaggi che transitano per la lista.

Che cos'è un alias?

Un alias di posta elettronica è generalmente un nome alternativo allo username al quale un utente di una macchina Unix può ricevere posta elettronica. Ad esempio, io ho un account su gulch.unica.it, con username bronto, così il mio indirizzo di posta elettronica è bronto@gulch.unica.it. È però definito anche un alias, che mi permette di ricevere posta anche come mmarongiu@gulch.unica.it.

Lo strumento degli alias è però molto più potente! Infatti un alias può essere definito anche per persone che non hanno un account sulla macchina, può reindirizzare la posta a più di una persona, passarla in input a dei comandi, permette la ricorsione... Le possibilità sono veramente tante.

Qualunque distribuzione di Linux abbiate installato, se il vostro "gestore" della posta elettronica è sendmail avrete sicuramente un file chiamato /etc/aliases. In questo file vanno riportati gli alias di posta elettronica.

La cosa più semplice e rapida è inserire in /etc/aliases una riga per ogni indirizzo fittizio, con a fianco il/gli indirizzi a cui effettivamente mandare il messaggio. Un possibile file per gulch.unica.it è il seguente:


mmarongiu: bronto
gconcas:   judas
ssanna:    gerda
rcongiu:   congiu, congiu@csp.it

sysadmin:  bronto,gerda,rcongiu,judas

Le prime tre linee sono strutturalmente identiche: informano sendmail che se riceve posta per l'"utente" scritto alla sinistra dei due punti deve recapitare il messaggio all'indirizzo scritto alla destra.

La quarta riga è simile: anziché un solo indirizzo ne sono stati inseriti due, separati da una virgola e da un carattere spazio: sugli indirizzi multipli torneremo fra poco.

L'ultima riga presenta una novità in più: oltre a indirizzi "reali" (bronto, gerda, judas) ne compare uno fittizio (rcongiu, definito una riga più sopra): anche in questo caso sendmail, cercando di risolvere l'indirizzo "rcongiu", arriverà a risolvere l'alias e spedirà quindi all'indirizzo giusto (3).

Con l'ultima riga arriviamo finalmente al dunque: essa infatti si configura come una mailing list, alla quale sono iscritte quattro persone. Per creare una mailing list possiamo accontentarci di sapere questo: basta scrivere il nome della lista, seguito da un segno di due punti ":" e da tutti gli indirizzi che ne fanno parte, separati da virgole. Per andare a capo è sufficiente terminare una riga con il separatore degli indirizzi, la virgola, e poi proseguire sulla riga successiva. Per una questione di ordine può essere conveniente indentare con spazi; sendmail li ignorerà andando dritto all'indirizzo.


Attenzione alle trappole!

Non basta editare il file /etc/aliases per attivare gli alias: le modifiche a /etc/aliases non saranno attive fino a quando non eseguirete il comando newaliases. Questo comando "ricarica" gli alias di sendmail e verifica che siano scritti correttamente. Se non sono stati commessi errori viene riportato il numero di alias definiti e la lunghezza in byte del più lungo.

C'è anche una piccola trappola, per la quale dovete ringraziare i programmatori di elm. Con elm si possono definire sia alias personali per ogni utente sia alias di sistema, che però vengono sfruttati solo da elm. Il comando per rendere attivi questi alias si chiama newalias, e la sintassi stessa del file degli alias è simile, ma non uguale, a quella di /etc/aliases. Fate quindi attenzione a non confondervi, o rischierete di perdere le giornate a capire perché, malgrado la sintassi in /etc/aliases sia esatta, gli alias non vengano caricati correttamente.


La lista sul Web

Abbiamo visto come editare il file /etc/aliases e come costruire una mailing list. Facciamo ora un passo avanti e vediamo come interfacciarla al Web utilizzando MHonArc.

Che cos'è MHonArc? Leggiamo uno stralcio della documentazione:

MHonArc è un programma in Perl per convertire messaggi di posta elettronica soggetti alla RFC 822 ed allo standard MIME in HTML. MHonArc può assolvere ai compiti seguenti: Oltre a ciò MHonArc possiede anche: Ecco alcune ragioni per usare MHonArc:
Una copia di MHonArc potete prelevarla direttamente presso gulch.unica.it, all'URL http://gulch.unica.it/~bronto/ft/MHonArc2.0b3.tar.gz, o presso il sito ufficiale all'URL http://www.oac.uci.edu/indiv/ehood/mhonarc.html.

Per l'installazione è sufficiente decomprimere l'archivio in una directory provvisoria e poi seguire le istruzioni contenute nel file README:

Installazione interattiva:
Eseguire il comando seguente:

perl install.me

Il programma di installazione vi farà una serie di domande su dove si trova l'eseguibile perl e dove copiare i file di MHonArc. Premete semplicemente <INVIO> per accettare i valori di default che vengono mostrati fra parentesi tonde.

Da quanto detto poco sopra avrete sicuramente intuito che la lista gulch@gulch.unica.it altro non è che un grande alias di sendmail. Oltre ai vari indirizzi degli utenti l'alias presenta in più qualcosa che ancora non abbiamo visto:


gulch:   bronto@tex.unica.it, gerda, gundam, robin, congiu@csp.it, judas,
         ermini@vaxca3.unica.it, agemo@iol.it, gppe@tex.unica.it,
         
         [eccetera eccetera]
         
         mirko@sol.dada.it,
         "| /usr/local/mhonarc/bin/mhonarc -add -outdir /var/lib/httpd/htdocs/mailing-list -rcfile /var/lib/httpd/conf/mhonarc.conf"

Notate che l'ultima riga contiene una pipeline, racchiusa fra doppi apici. Questa fa in modo che all'arrivo di un messaggio all'indirizzo gulch questo venga spedito a tutti gli indirizzi specificati, e in più venga inviato anche sullo standard input del programma specificato. Nel nostro caso i messaggi vengono inviati allo standard input di /usr/local/mhonarc/bin/mhonarc(5).

Configurare l'output di MHonArc: lo switch -rcfile

Per personalizzare l'output di MHonArc si utilizza un file il cui nome viene specificato dopo lo switch -rcfile. Il file contiene delle direttive in una forma simile ai linguaggi SGML/HTML, ed i commenti all'interno del file sono dati proprio nella forma <!-- commento -->. Una spiegazione dettagliata su come preparare questo file esula dagli scopi di questo articolo, in quanto si ridurrebbe ad una pura e semplice traduzione del manuale d'uso. A titolo di esempio riporto il file che configura il layout della lista gulch, che contiene commenti esplicativi delle direttive. Per una spiegazione dettagliata vi rimando alla documentazione o, ancora una volta, al sito ufficiale.

La versione da noi utilizzata è la 2.0.0 Beta 3, che ha ancora qualche piccolo bug; ad esempio la conversione dei nomi dei mesi in italiano non ha dato i risultati sperati, ma siamo fiduciosi nella nuova versione!

<!-- PERSONALIZZAZIONE DELL'INDICE PRINCIPALE PER LA MAILING LIST DEL
     GULCH
     GULCh - Gruppo Utenti Linux Cagliari.
     WWW: http://gulch.unica.it/
     
                                       MARCO MARONGIU - 19 MARZO 1997 
                                       email: mmarongiu@gulch.unica.it
                                       WWW: http://tex.unica.it/~bronto
                                       
                                                                      -->


<!-- CONFIGURAZIONE GENERALE ********************************* -->

<!-- NOME DEL FILE INDICE THREADED -->
<TIdxFName>
index.html
</TIdxFName>


<!-- MODALITA' DI ORDINAMENTO DEI MESSAGGI NELL'INDICE GENERALE -->
<SORT>



<!-- GIORNI DELLA SETTIMANA  E MESI -->
<!-- NOMI COMPLETI -->
<WeekDays>
Domenica:Lunedi:Martedi:Mercoledi:Giovedi:Venerdi:Sabato
</WeekDays>

<Months>
Gennaio:Febbraio:Marzo:Aprile:Maggio:Giugno:Luglio:Agosto:Settembre:Ottobre:Novembre:Dicembre
</Months>

<!-- NOMI ABBREVIATI -->
<WeekDaysAbr>
Dom:Lun:Mar:Mer:Gio:Ven:Sab
</WeekDaysAbr>

<MonthsAbr>
Gen:Feb:Mar:Apr:Mag:Giu:Lug:Ago:Set:Ott:Nov:Dic
</MonthsAbr>

<!-- FORMATO DELLE DATE -->
<GMTDateFmt>
%a %d %b %Y - %H:%M:%S
</GMTDateFmt>

<LocalDateFmt>
%A %d %B %Y - %H:%M:%S
</LocalDateFmt>



<!-- FINE CONFIGURAZIONE GENERALE ********************************* -->




<!-- HEADER DELL'INDICE PER DATA -->
<IdxPgBegin>
<html>
  <head>
    <title>Mailing list del GULCh</title>
    <meta http-equiv="Refresh" content="600">
  </head>

  <body background="http://gulch.unica.it/56.jpg">
    <table width=100% cellpadding=10>
      <tr BGCOLOR="#FFD700"><td align=left><br><h1><font size=7 color="#CC3232" face="Arial, Helv, Helvetica"><b>Mailing List del GULCh</b></font></h1>
    </table>

</IdxPgBegin>



<!-- MODALITA' MULTIPAGINA; IL NUMERO DI MESSAGGI PER PAGINA
     E' FISSATO DAL VALORE COMPRESO NEL CAMPO IDXSIZE -->
<MultiPg>
<IdxSize>
50
</IdxSize>



<!-- AGGIUNGE IL LINK ALLA DOCUMENTAZIONE DI MHonArc; IL URL E' LOCALE ED E'
     SPECIFICATO ALL'INTERNO DEL CAMPO DOCURL -->
<Doc>
<DocURL>
http://gulch.unica.it/~mhonarc/doc/
</DocURL>



<!-- FOOTER DELL'INDICE PER DATA -->
<IdxPgEnd>
<hr size=0>
    <table width=100% cellpadding=10>
      <tr BGCOLOR="#FFD700"><td align=right><font size=+1 color="#CC3232"><i>Torna alla<br>
        <a href="http://gulch.unica.it/">GULCh Homepage</a></i></font>
    </table>
<hr size=0>
<div align=center><font size=-2><i>Questa pagina viene aggiornata automaticamente ogni <b>10</b> minuti</i></font></div>
<hr size=0>

</body>
</html>
</IdxPgEnd>




<!-- TAG DI INIZIO DELLA LISTA DEI MESSAGGI -->
<!-- HEADER -->
<ListBegin>
<div align=center><nobr>
<hr size=1>
  $PREVPGLINK$ [<a href="$TIDXFNAME$">Indice per Thread</a>] $NEXTPGLINK$
  <p>
  Ultimo Aggiornamento: $LOCALDATE$<br>
  $NUMOFMSG$ messaggi
<hr size=1>
</nobr></div>

<ul>
</ListBegin>




<!-- TEMPLATE PER LE VOCI NELL'ELENCO DEI MESSAGGI -->
<LiTemplate>
<li>$ICON$ <b>$SUBJECT$</b> <i>$FROMNAME$, $DDMMYY$</i>
</LiTemplate>




<!-- HEADER DELL'INDICE PER THREAD -->
<TIdxPgBegin>
<html>
  <head>
    <title>Mailing list del GULCh - Indice Thread</title>
    <meta http-equiv="Refresh" content="600">
  </head>

  <body background="http://gulch.unica.it/56.jpg">
    <table width=100% cellpadding=10>
      <tr BGCOLOR="#FFD700"><td align=left><br><h1><font size=7 color="#CC3232" face="Arial, Helv, Helvetica"><b>Mailing List del GULCh</b> - Indice Thread</font></h1>
    </table>
</TIdxPgBegin>




<!-- TAG PER L'INIZIO DELLA LISTA DEI MESSAGGI THREADED -->
<THead>
<div align=center><nobr>
<hr size=1>
  $TPREVPGLINK$ [<a href="$IDXFNAME$">Indice per Data</a>] $TNEXTPGLINK$
  <p>
  Ultimo Aggiornamento: $LOCALDATE$<br>
  $NUMOFMSG$ messaggi
<hr size=1>
</nobr></div>

<ul>
</THead>




<!-- TEMPLATE PER LE VOCI NELLA LISTA DEI MESSAGGI THREADED -->
<TLiTxt>
<li>$ICON$ <strong>$SUBJECT$</strong><br>
    <i>$FROMNAME$</i>
</TLiTxt>

<TLiEnd>
</li>
</TLiEnd>

<!-- TEMPLATE PER I MESSAGGI CHE NON FANNO PARTE DI UN THREAD -->
<TSingleTxt>
<li>$ICON$ <strong>$SUBJECT$</strong><br>
    <i>$FROMNAME$</i>
</TSingleTxt>

<!-- TEMPLATE PER IL MESSAGGIO DI TESTA DI UN THREAD -->
<TTopBegin>
<li>$ICON$ <strong>$SUBJECT$</strong> 
    <i>$FROMNAME$</i>
</TTopBegin>



<!-- FOOTER DELL'INDICE PER THREAD -->
<TIdxPgEnd>
<hr size=0>
    <table width=100% cellpadding=10>
      <tr BGCOLOR="#FFD700"><td align=right><font size=+1 color="#CC3232"><i>Torna alla<br>
        <a href="http://gulch.unica.it/">GULCh Homepage</a></i></font>
    </table>
<hr size=0>
<div align=center><font size=-2><i>Questa pagina viene aggiornata automaticamente ogni <b>10</b> minuti</i></font></div>
<hr size=0>

</body>
</html>
</TIdxPgEnd>




<!-- SEGNALE DI UN MESSAGGIO DEL QUALE SI HA LA RISPOSTA MA NON L'ORIGINALE -->
<TLiNone>
<LI><EM>(Messaggio non disponibile)</EM>
</TLiNone>




<!-- SOPPRIME IL MESSAGGIO "POSSIBLE FOLLOW-UP" -->
<!--
<TSubjectBeg>
 
</TSubjectBeg>
-->



<!-- SETUP PER I SINGOLI MESSAGGI -->
<!-- CODICE HTML INSERITO IN TESTA AD OGNI MESSAGGIO DI POSTA -->
<MsgHead>
<div align=right><font size=-2><i>Mailing list del GULCh</i></font></div>
<hr size=1 noshade>
</MsgHead>



<!-- CODICE HTML SUCCESSIVO ALL'HEADER DEI MESSAGGI, CON I PRINCIPALI LINK -->
<TopLinks>

<div align=center><nobr>
$PREVBUTTON$ $NEXTBUTTON$ $TPREVBUTTON$ $TNEXTBUTTON$
</nobr></div>
<hr size=1 noshade>
<HR>

</TopLinks>



<!-- CODICE HTML "FOOTER" PER I  MESSAGGI, CON I PRINCIPALI LINK -->
<BotLinks>
<HR>
<div align=center><nobr>
[<a href="$IDXFNAME$">Indice per Data</a>] [<a href="$TIDXFNAME$">Indice per Thread</a>]

<p>
$PREVBUTTON$ $NEXTBUTTON$ $TPREVBUTTON$ $TNEXTBUTTON$
</nobr></div>

<hr>
<div align=right>
<a href="http://gulch.unica.it/home.html"><i><small>Torna alla</small><br>GULCh HOME PAGE</i></a>
<HR>
</BotLinks>




<!-- DEFINIZIONE DEI {PREV|NEXT}BUTTON E DEI LORO RISPETTIVI NO-LINK -->
<!-- TRAMITE QUESTE DIRETTIVE SI DEFINISCE IL CODICE HTML PER I
     PULSANTI TESTUALI CHE CONSENTONO DI NAVIGARE NEI MESSAGGI -->

<!-- PULSANTE PER IL MESSAGGIO PRECEDENTE PER DATA (QUANDO ESISTE) -->
<PrevButton>
[<a href="$PREVMSG$">Precedente per data</a>]
</PrevButton>

<!-- PULSANTE PER IL MESSAGGIO PRECEDENTE PER DATA (QUANDO *NON* ESISTE) -->
<PrevButtonIA>
[Precedente per data]
</PrevButtonIA>

<!-- COME SOPRA -->
<NextButton>
[<a href="$NEXTMSG$">Successivo per data</a>]
</NextButton>

<NextButtonIA>
[Successivo per data]
</NextButtonIA>

<TPrevButton>
[<a href="$TPREVMSG$">Precedente per thread</a>]
</TPrevButton>

<TPrevButtonIA>
[Precedente per thread]
</TPrevButtonIA>

<TNextButton>
[<a href="$TNEXTMSG$">Successivo per thread</a>]
</TNextButton>

<TNextButtonIA>
[Successivo per thread]
</TNextButtonIA>

<!-- STESSA COSA PER LE PAGINE DEGLI INDICI (RICORDARE CHE ABBIAMO DEFINITO
     LA MODALITA' MULTIPAGINA: IN OGNI INDICE POSSONO STARE AL MASSIMO 50
     MESSAGGI. QUI VENGONO DEFINITI I LINK ALLE PAGINE PRECEDENTI E SUCCESSIVE
     DEGLI INDICI -->
<!-- LE DIRETTIVE CHE INIZIANO PER T SI RIFERISCONO ALL'INDICE PER THREAD,
     LE ALTRE ALL'INDICE PER DATA -->

<PrevPgLink>
[<a href="$PREVPG$">Pagina Precedente</a>]
</PrevPgLink>

<PrevPgLinkIA>
[Pagina Precedente]
</PrevPgLinkIA>

<NextPgLink>
[<a href="$NEXTPG$">Pagina Successiva</a>]
</NextPgLink>

<NextPgLinkIA>
[Pagina Successiva]
</NextPgLinkIA>

<TPrevPgLink>
[<a href="$TPREVPG$">Pagina Precedente</a>]
</TPrevPgLink>

<TPrevPgLinkIA>
[Pagina Precedente]
</TPrevPgLinkIA>

<TNextPgLink>
[<a href="$TNEXTPG$">Pagina Successiva</a>]
</TNextPgLink>

<TNextPgLinkIA>
[Pagina Successiva]
</TNextPgLinkIA>



<!-- SETUP ICONE -->
<ICONS>
application/octet-stream:http://gulch.unica.it/icons/binary.gif
application/postscript:http://gulch.unica.it/icons/postscript.gif
audio/basic:http://gulch.unica.it/icons/sound.gif
image/gif:http://gulch.unica.it/icons/image1.gif
image/jpeg:http://gulch.unica.it/icons/image2.gif
image/tiff:http://gulch.unica.it/icons/image3.gif
multipart/digest:http://gulch.unica.it/icons/text.gif
multipart/mixed:http://gulch.unica.it/icons/generic.gif
multipart/parallel:http://gulch.unica.it/icons/generic.gif
text/richtext:http://gulch.unica.it/icons/a.gif
text/html:http://gulch.unica.it/icons/layout.gif
text/plain:http://gulch.unica.it/icons/text.gif
unknown:http://gulch.unica.it/icons/unknown.gif
video/mpeg:http://gulch.unica.it/icons/movie.gif
video/quicktime:http://gulch.unica.it/icons/movie.gif
</ICONS>

Lo switch -add

MHonarc può essere usato sia per convertire un singolo messaggio in HTML, sia per convertire un intero mail folder. Rigenerare tutti i file all'arrivo di ogni messaggio può essere fattibile se il numero di messaggi da trattare è piccolo, ma per grandi volumi di traffico il processo aumenta il carico sulla macchina e il tempo di esecuzione e riduce la vita del disco rigido, che viene sottoposto in continuazione alla cancellazione e alla riscrittura di piccoli file. È preferibile allora aggiornare i file già esistenti ad ogni nuovo messaggio. Per specificare al programma che deve leggere un solo messaggio e aggiornare gli indici (per thread e per data) bisogna specificare sulla linea di comando lo switch -add. Se gli indici non esistono vengono creati sul momento. I dati utilizzati per costruire gli indici vengono salvati in un file .mhonarc.db presente nella directory che ospita gli indici stessi.

Lo switch -outdir

Come è intuibile dal nome, lo switch -outdir specifica su quale directory andranno scritti i files HTML dei messaggi. I più esperti di voi avranno già intuito un problema: i permessi di scrittura. A chi bisogna dare i permessi sulla directory perché mhonarc ci possa scrivere? Ebbene, la risposta è diversa da distribuzione a distribuzione! La tabella seguente riporta le coppie utente/gruppo a cui dare i permessi di scrittura per le tre distribuzioni che attualmente vanno per la maggiore: Slackware, Debian e Red Hat. Se avete installato una distribuzione diversa da queste tre non è tutto perduto: create la directory, date permessi di lettura/scrittura a tutti gli utenti (chmod 777 nome_dir), fate funzionare MHonArc e leggete a quale utente/gruppo appartengono i file che il programma ha scritto (basta un semplice ls -l). A questo punto cambiate proprietari e permessi alla directory (chown utente.gruppo nome_dir ; chmod ug=rw,o=rx nome_dir) e il gioco è fatto.

Permessi di scrittura per MHonArc
Distribuzione user group
Slackware bin bin
Debian daemon daemon
Red Hat mail mail

Vantaggi e svantaggi

I vantaggi nel costruire una mailing list in questo modo sono principalmente la rapidità e la possibilità di metter su la lista con gli strumenti standard di Linux. Per ciò che riguarda MHonArc il suo uso è vantaggioso sotto diversi aspetti. Il primo, intrinseco, è la portabilità: MHonArc è scritto in Perl 4, che è disponibile per moltissime piattaforme ed è compatibile con Perl 5. Il secondo vantaggio è la configurabilità davvero notevole e il fatto che il programma, avendo una struttura molto modulare, con moduli e librerie proprie, può essere adattato alle proprie esigenze con grande rapidità (per rimediare ad un bug ai più smaliziati basteranno grep e vi), senza alterare la configurazione di sistema di perl.

Uno degli svantaggi nell'usare questo sistema è senz'altro l'assenza di qualunque automatismo: per aggiornare la lista il system manager dovrà necessariamente editare /etc/aliases a mano e gestire di persona le richieste di adesione. È dunque un metodo poco adatto per liste che si ritiene saranno soggette a continui mutamenti di utenza.

Un altro problema è poi quello del carbon copy e del reply. Supponiamo che voi siate iscritti alla lista planets@solar.system.it con il vostro indirizzo, deimos@marte.it. Supponiamo anche che mandiate un messaggio alla lista: nell'header From: del messaggio comparirà quindi il vostro indirizzo: From: deimos@marte.it. Nel risolvere l'alias della lista sendmail, vedendo che il vostro indirizzo fa parte di essa, non vi spedisce il messaggio!. Se dunque volete conservarne una copia dovete provvedere per conto vostro, per esempio rispedendovi il messaggio come Cc: o Bcc:.

Supponiamo ora che fra i riceventi del vostro messaggio ci sia anche caronte@plutone.it: il messaggio che questi riceve avrà, fra gli header, anche questi:


From: deimos@marte.it
To: planets@solar.systems.it

Se per rispondere a questo messaggio usa un semplice "Reply", la sua risposta viene inviata a deimos@marte.it(6) e non a tutta la lista!!!. Affinché il messaggio giunga a tutta la lista è necessario imporre l'header To: a planets@solar.system.it, oppure fare un reply-to-all (group reply con elm) che rimanda il messaggio a tutti gli indirizzi che trova negli header From: e To:(7).


Ringraziamenti:
Davide Barbieri
MHonArc
Giulio Concas, Giuseppe Rodriguez
sendmail
Roberto Congiu
Sperimentazione MHonArc su distribuzione RedHat
Davide Rizzo, Stefano Sanna
Correzione bozze, suggerimenti e consigli

NOTE

1) L'ideatore del linguaggio PERL. Nel suo libro Programming Perl sono numerosi gli esempi del tipo "Suppose your Boss comes into your room and asks:...".

2) ad esempio posso definire un alias mario in modo che la posta diretta a mario@gulch.unica.it venga automaticamente dirottata a rossi@bianchi.com.

3) L'indirizzo fittizio può essere definito ovunque nel file; per una quesitone di ordine è comunque consigliabile inserire prima gli alias e poi i riferimenti agli alias...

4) Per chi non lo conoscesse, elm è uno dei più popolari mailer con interfaccia a caratteri. Viene distribuito su diverse piattaforme, tra le quali, ovviamente, Linux.

5) Il processo è esattamente analogo a un comando cat pluto.txt | more: cat legge il file pluto.txt e lo passa allo standard input di more, e more filtra l'output di cat.

6)...sempre che deimos non abbia settato un header Reply-to: ad un indirizzo diverso, p.e.
Reply-to: phobos@marte.it
nel qual caso il messaggio viene rispedito non a deimos ma a phobos.

7) il che significa che il messaggio arriverà a deimos@marte.it due volte: la prima perché tale indirizzo compare nell'header From:, la seconda perché è iscritto alla lista... anche questo è un inconveniente del sistema...

Di Marco Marongiu


Make About Copertina VFS