Guida avanzata a Solaris

Capitolo 7 La posta elettronica

SunOS comprende un programma di nome mailx per l'invio e il ricevimento di messaggi di posta elettronica (email). mailx dispone di funzioni per la lettura, la scrittura, l'invio, il ricevimento, il salvataggio e la cancellazione dei messaggi. Poiché non richiede un ambiente a finestre, il programma mailx può essere utilizzato su qualsiasi terminale. Può inoltre rappresentare una pratica alternativa, soprattutto per l'invio di messaggi brevi, al programma di posta elettronica a finestre. mailx supporta anche l'uso di alias postali.


Nota -

Se si sta lavorando in ambiente OpenWindows, uscire da Posta Elettronica prima di eseguire gli esempi descritti in questo capitolo. L'attivazione di due processi di posta elettronica potrebbe infatti generare messaggi di errore e di avvertimento. L'invio di messaggi da una Finestra di comando o da una Shell in genere non crea alcun problema, mentre il salvataggio e la cancellazione dei messaggi hanno effetto sul "contenitore di default" di Posta Elettronica, causando confusione nell'applicazione.


Introduzione a mailx

In questo paragrafo sono descritte le funzioni e i comandi essenziali di mailx. Nei paragrafi successivi verranno descritte funzioni più complesse, ideate per un utilizzo più avanzato del programma.

Nel programma mailx, l'indirizzo per l'invio di un messaggio è formato dal nome di login e dal nome del sistema del destinatario. Se il destinatario utilizza lo stesso sistema del mittente è sufficiente specificare il nome di login. Ogni utente ha una propria casella postale per il ricevimento dei messaggi. La casella postale si trova di solito nella directory /var/mail/nomeutente, dove nomeutente è il nome di login dell'utente.

mailx informa l'utente dell'arrivo di nuovi messaggi e li colloca nella casella postale. Quando i messaggi sono stati letti, mailx li dispone automaticamente in un file d'archivio di nome mbox, situato nella directory home dell'utente.

Avvio di mailx

Per avviare mailx, digitare il seguente comando al prompt di sistema e premere Return:

$ mailx

Se non vi sono nuovi messaggi in attesa, il terminale visualizza il messaggio:

Nessun messaggio per nomeutente
$

dove nomeutente è il nome di login dell'utente.

Invio di un messaggio di prova a se stessi

Per avere una prima idea del funzionamento di mailx, si provi ad inviare un messaggio a se stessi. Al prompt di sistema, digitare il comando mailx seguito dal proprio indirizzo (nome di login e nome del sistema). Ad esempio, se il nome di login fosse lorenzo e il nome del sistema fosse firenze, l'indirizzo completo dovrebbe essere scritto nella forma lorenzo@firenze. (Il simbolo @ viene usato con il significato di "a".) In una rete locale dovrebbe essere sufficiente il nome di login -- consultare per sicurezza l'amministratore del sistema.

$ mailx lorenzo@firenze

Il programma risponderà con il prompt Subject:

$ mailx lorenzo@firenze
Subject:

Se si desidera, inserire una breve descrizione del messaggio e premere Return. Digitare ora il testo vero e proprio del messaggio; scrivere alcune righe brevi e premere Return alla fine di ogni riga. (Gli errori di battitura possono essere corretti tornando indietro con il tasto Back Space e digitando nuovamente il testo, ma solo prima di premere il tasto Return.)

L'esempio che segue mostra un possibile messaggio di prova (gli spazi tra le righe si ottengono premendo due volte il tasto Return):

$ mailx lorenzo@firenze
Subject: cogli l'attimo

Caro Lorenzo,

Quant'è bella giovinezza,
che si fugge tuttavia!
Chi vuol esser lieto, sia:
di doman non c'è certezza.


A presto,

Il Magnifico

Per inviare il messaggio, premere Return per completare l'ultima riga e quindi Ctrl-D. Dopo l'invio del messaggio, sullo schermo ricompare il prompt di sistema.

Lettura del messaggio di prova

Per leggere il messaggio di prova, eseguire nuovamente il comando mailx. Comparirà una videata simile alla seguente:

$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Digitare ? per
informazioni.
"/var/mail/lorenzo": 2 messaggi 1 nuovi
 U  2 max@meteora          Fri Feb 14 12:01   14/318 aggiornamenti
>N  1 lorenzo@firenze  Mon Feb 17 08:12   21/453 cogli l'attimo
&

La prima riga identifica la versione di mail; la seconda riga indica la casella postale, di solito collocata in /var/mail/nomeutente, in cui viene depositata la posta in arrivo. La quarta riga dell'esempio è l'intestazione del messaggio di prova. La "N" all'inizio della riga indica che si tratta di un messaggio "nuovo". La "U" che precede la terza riga dell'esempio (da "unread", non letto) indica un messaggio che non è stato letto in una sessione precedente di mailx. (Le informazioni di questa videata saranno trattate in maggiore dettaglio nel paragrafo "Lettura dei messaggi" di questo capitolo.)

Ad ogni messaggio ricevuto viene assegnato un numero: il messaggio di Lorenzo a se stesso compare nell'esempio con il numero 1.

Per leggere un messaggio, digitare il suo numero al prompt di mailx, rappresentato da una "e commerciale" (&):

$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Digitare ? per
informazioni.
"/var/mail/lorenzo": 1 messaggi 1 nuovi
>N  1 lorenzo@firenze   Fri Jul 14 12:01 21/453 cogli l'attimo
& 1

To: lorenzo@firenze
From: lorenzo@firenze
Subject: cogli l'attimo

Caro Lorenzo,

Quant'è bella giovinezza,
che si fugge tuttavia!
Chi vuol esser lieto, sia:
di doman non c'è certezza.


A presto,

Il Magnifico

&

Uscita da mailx

Per uscire da mailx sono disponibili due comandi: q o x.

Digitando q al prompt di mailx e premendo Return,

& q

compare un messaggio simile al seguente:

1 messaggio salvato in directory_home/mbox.

dove directory_home è il percorso della directory home dell'utente.

Se si utilizza il comando di uscita q dopo avere letto i messaggi ricevuti, mailx sposta i messaggi dalla casella postale al file mbox nella directory home dell'utente. mailx salva anche eventuali modifiche o cancellazioni dei messaggi.

Digitando invece il comando di uscita x al prompt di mailx e premendo Return,

& x

mailx non salva le eventuali modifiche o cancellazioni, né sposta i messaggi già letti nel file mbox.

Lettura dei messaggi

Se sono arrivati nuovi messaggi, mailx visualizza ad ogni login il messaggio

You have mail

o

You have new mail

Per leggere i messaggi, digitare mailx al prompt di sistema e premere Return. Se la casella postale è vuota compare il messaggio:

Nessun messaggio per nomeutente

Diversamente, compare una lista simile alla seguente:

$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Digitare ? per
informazioni.
"/var/mail/lorenzo": 4 messaggi 1 nuovi 2 non letti
    1 lorenzo@firenze   Fri Feb 14 12:01 21/453 cogli l'attimo
 U  2 boccia@biliardo   Fri Feb 14 18:31 19/353 strategia
 U  3 fieno@fattoria    Sat Feb 15 10:22 24/557 previsioni per
>N  4 hoover@woofer     Sun Feb 16 23:59 14/280 attenzione agli
&

Il programma mailx visualizza alcune informazioni su se stesso (numero di versione e data) e le istruzioni per la richiesta della guida (Digitare ? per informazioni).

Nella riga successiva, mailx specifica la posizione della casella postale, il numero dei messaggi ricevuti e il loro stato.

mailx presenta quindi un elenco numerato dei messaggi presenti nella casella postale. Da sinistra a destra, le colonne di ogni riga indicano le seguenti informazioni:

Se la casella postale contiene molti messaggi, la lista visualizzata potrebbe non essere completa. In questo caso, digitare:

Per visualizzare il messaggio corrente (contrassegnato nella lista con >), premere Return. Premendo nuovamente Return verrà visualizzato il messaggio successivo. Per leggere un determinato messaggio, digitarne il numero e premere Return.

Cancellazione (e recupero) dei messaggi

Dopo avere letto un messaggio, si può decidere di cancellarlo anziché memorizzarlo nel file mbox (il salvataggio viene eseguito per default all'uscita da mailx).

Per cancellare l'ultimo messaggio letto, digitare d al prompt di mailx. Per cancellare un messaggio specifico dalla casella postale, usare il comando:

d numero

Per cancellare ad esempio il secondo messaggio, digitare il comando seguente:

& d 2

È anche possibile cancellare diversi messaggi con un'unica operazione. Per cancellare i messaggi 1 e 3, digitare il comando:

& d 1 3

Per cancellare un gruppo di messaggi consecutivi, ad esempio dall'1 al 3, digitare il comando:

& d 1-3

Prima di uscire da mail è ancora possibile recuperare i messaggi cancellati dalla casella postale. Digitare il comando:

u numero

seguito da Return. Per recuperare ad esempio il secondo messaggio, digitare il comando:

& u 2

Per annullare l'ultima cancellazione è possibile digitare u al prompt di mailx subito dopo la cancellazione. Ad esempio, se l'ultimo comando di cancellazione è stato d 2-5, il comando u recupererà i messaggi 2, 3, 4 e 5.

Si ricordi che le cancellazioni diventano permanenti se si esce da mailx con il comando q; in altre parole, dopo l'uscita dal programma con q i messaggi non possono più essere recuperati. È però possibile uscire da mailx con il comando x lasciando la casella postale intatta -- come accennato in precedenza, uscendo con x i messaggi letti resteranno contrassegnati con una U, i messaggi cancellati verranno ripristinati, ecc.

Stampa dei messaggi

Per stampare un messaggio è possibile inviarlo a un comando di stampa utilizzando il simbolo di pipe, digitando:

|numero lp

al prompt di mailx. (Il simbolo | viene chiamato pipe.) Ad esempio, per stampare una copia del messaggio 2, digitare:

& |2 lp

e premere Return. Se non viene specificato il numero del messaggio, mailx invia alla stampante il messaggio corrente. Per maggiori informazioni sull'uso del simbolo di pipe, vedere "Redirezione e piping dell'output di un comando" in Capitolo 2.

Invio dei messaggi

Per inviare un messaggio con mailx occorre conoscere il nome di login del destinatario. Se il destinatario opera su un sistema diverso dal proprio, occorre conoscere anche il nome del suo sistema. Per ottenere queste informazioni è possibile usare i comandi who, finger o rusers.

Il comando who elenca tutti gli utenti correntemente connessi al proprio file server. La lista visualizzata indica, per ogni utente, il nome di login, il tipo di terminale e la data e l'ora di login. Ad esempio:

$ who
    bruno      tty15        feb 20 10:22
    mara       tty04        feb 20 10:37
    paola      tty07        feb 20 11:49
    laura      tty06        feb 20 12:02

Il comando finger visualizza le stesse informazioni ottenute con who, ma in forma più dettagliata. Le informazioni visualizzate dipendono dalla configurazione impostata dall'amministratore del sistema. Un esempio di output è il seguente:

$ finger
    Login     Name           TTY      Idle     When
    bruno     Bruno Rossi    tty15     43      Thu 10:22
    mara      Mara Bianchi   tty04             Thu 10:37
    paola     Paola Verdi    tty07     12      Thu 11:49
    laura     Laura Polli    tty06     22      Thu 12:02

Il comando rusers visualizza informazioni sugli utenti correntemente connessi alla rete locale. Per istruzioni sull'uso del comando rusers, vedere Capitolo 9.

Dopo avere ottenuto le informazioni necessarie sull'utente, procedere come segue per inviare il messaggio.

  1. Digitare il comando mailx seguito dall'indirizzo dell'utente:

    $ mailx nomeutente@nomesistema
    

    dove utente è il nome di login del destinatario e sistema è il nome del suo sistema.

    • Se mailx è già stato avviato, è sufficiente digitare una m seguita dal nome di login e dal nome di sistema del destinatario:

    & m nomeutente@nomesistema
    

    • Per inviare lo stesso messaggio a più destinatari, separare gli indirizzi con spazi o virgole; ad esempio:

    $ mailx boccia@biliardo paola@fattoria lorenzo@firenze
    

    oppure

    $ mailx boccia@biliardo,paola@fattoria,lorenzo@firenze
    

  2. Premendo Return, mailx richiede l'oggetto del messaggio. Inserire una breve descrizione del contenuto del messaggio e premere nuovamente Return.

  3. Digitare il contenuto del messaggio. Per creare una riga nuova, premere Return.

    Si noti che anche se una frase si sviluppa su più righe, il programma la considera come un'unica riga finché non viene premuto il tasto Return.


    Nota -

    Ogni riga di testo all'interno del messaggio può contenere fino a 256 caratteri. Se questo limite viene superato lo schermo si blocca. In questo caso, premere Ctrl-C per abbandonare il messaggio.


  4. Dopo avere scritto il messaggio, premere Return per spostare il cursore su una nuova riga. Premere quindi Ctrl-D per inviare il messaggio.

Errori di invio

Se l'indirizzo specificato per l'invio del messaggio non è corretto, il sistema risponde con il messaggio

nomeutente@nomesistema...User unknown

e il messaggio ritorna nella casella postale del mittente. All'avvio successivo di mailx, l'intestazione segnalerà la presenza di un messaggio restituito al mittente:

N 1 Mailer-Daemon Fri Jan 3 11:13 8/49 Returned mail: User unknown

Quando il messaggio non può essere consegnato, il file corrispondente viene copiato in un file della directory home con il nome dead.letter.

Annullamento di un messaggio

Per cancellare un messaggio prima di inviarlo, premere due volte Ctrl-C.

Copie per conoscenza e copie silenti

Prima di inviare un messaggio, è possibile impostare l'invio di "copie per conoscenza" ad utenti diversi dai destinatari principali. È anche possibile inviare "copie silenti". Chi riceve il messaggio può conoscere i destinatari delle copie per conoscenza ma non quelli delle copie silenti.

Può essere buona norma includere anche il proprio indirizzo tra i destinatari delle copie per conoscenza o delle copie silenti, in modo da conservare sempre una copia dei messaggi spediti.

Sono disponibili tre metodi per inviare copie per conoscenza di un messaggio:

set askcc

Con questa impostazione, mailx visualizza il prompt per le copie per conoscenza (Cc:) dopo il prompt per l'oggetto. Inserire in questo campo gli indirizzi degli utenti desiderati separandoli con spazi vuoti.

~c biglia@biliardo paola@fattoria lorenzo@firenze


Nota -

I comandi ~c, ~h ed altri comandi tilde sono descritti nel paragrafo "Comandi tilde" in questo capitolo.


Inserimento di una copia di un messaggio o di un file

mailx permette di inserire nel messaggio che si sta scrivendo una copia di qualsiasi messaggio contenuto nella casella postale, oppure una copia di un qualsiasi file di testo.

Inserimento di un messaggio

Il comando per l'inserimento di un messaggio è il seguente:

~m numero

dove numero è il numero del messaggio da inserire. Ad esempio, per inviare un messaggio che comprenda una copia del messaggio numero 3 della propria casella postale, procedere come segue:

  1. Su una nuova riga, digitare il comando ~m 3 e premere Return.

  2. mailx visualizza il messaggio Inserimento di: 3 (continuare)

  3. Il messaggio 3 non compare sullo schermo del mittente, mentre sarà visibile nella copia ricevuta dal destinatario. Dopo (continuare), è possibile continuare il messaggio o inviarlo nella forma corrente.

  4. Per visualizzare il messaggio in forma completa, compreso il messaggio incorporato, usare il comando ~p.

Inserimento di un file

È anche possibile inserire in un messaggio una copia di un qualsiasi file di testo. Usare il comando seguente:

~r nomefile

mentre si scrive il messaggio. Ad esempio, per inserire il file profilo nel messaggio corrente, digitare:

~r profilo

Risposta a un messaggio

Per rispondere a un messaggio, digitare il comando

r numero

al prompt di mailx. (Se non viene specificato il numero del messaggio, mailx risponde al messaggio corrente.) Ad esempio, per rispondere al mittente del messaggio 2, digitare il comando:

& r 2

mailx inserisce automaticamente l'indirizzo del destinatario e una riga Re: Subject: analoga alla riga Subject: del messaggio originale. Inviare la risposta con la normale procedura di spedizione.

Una variante del comando di risposta è R, che invia il messaggio sia al mittente che a tutti i destinatari del messaggio originario. Usare questo comando solo quando è assolutamente necessario, per evitare di generare "posta inutile".


Nota -

Anche in una risposta è possibile inserire un altro messaggio usando la procedura descritta al paragrafo precedente. Per inserire una copia del messaggio al quale si sta rispondendo, digitare il comando ~m senza specificare il numero del messaggio.


Salvataggio e richiamo dei messaggi

I messaggi inviati o ricevuti possono anche essere salvati e richiamati per utilizzi successivi. In mailx è possibile salvare i messaggi inserendoli in normali file di testo, oppure inserendoli in file speciali detti raccoglitori. Entrambi i metodi sono descritti nei paragrafi seguenti.

mailx distingue tra il salvataggio e la copia di un messaggio; il salvataggio elimina il messaggio dalla casella postale e lo colloca in un file o in un raccoglitore; la copia lascia il messaggio nella casella postale e ne colloca una copia in un file o in un raccoglitore.

Salvataggio e copia dei messaggi in un file

Per salvare un messaggio in un file, digitare al prompt di mailx il comando:

s numero nomefile

dove numero è il numero del messaggio da salvare e nomefile è il file in cui si desidera salvarlo. Ad esempio, per salvare il messaggio 3 in un file di nome ~/note/bilancio, digitare:

& s 3 ~/note/bilancio

(Si ricordi che, in un percorso, il simbolo ~ rappresenta la directory home.)

È anche possibile salvare diversi messaggi nello stesso file con un'unica operazione. Ad esempio, per salvare i messaggi 3, 5, 6, 7 e 8 in ~/note/bilancio, digitare:

& s 3 5-8 ~/note/bilancio

Se il file specificato non esiste, mailx ne crea uno nuovo. Se il file esiste, mailx aggiunge il nuovo messaggio alla fine del file.

Il salvataggio cancella il messaggio dalla casella postale; mailx visualizza un asterisco (*) vicino all'intestazione dei messaggi salvati.

Per salvare il messaggio in un file lasciandone una copia nella casella postale, usare il comando copy come segue:

& c 3 ~/note/bilancio

Salvataggio e copia dei messaggi in un raccoglitore

Per evitare di scrivere il percorso completo del file utilizzato per l'archiviazione, è possibile salvare o copiare i messaggi in un cosiddetto raccoglitore. I raccoglitori sono file speciali situati in un'apposita directory.

Utilizzando i raccoglitori, i messaggi salvati o copiati vengono riuniti automaticamente nella stessa directory, da dove è possibile richiamarli facilmente senza bisogno di specificare lunghi percorsi.

Creazione della directory dei raccoglitori

Per usare i raccoglitori è necessario creare un'apposita directory. Procedere come segue:

  1. Creare la directory con il comando mkdir.

    Ad esempio, per creare una directory di nome Messaggi, digitare il comando:

    $ mkdir Messaggi
    

  2. Aprire quindi con un editor il file .mailrc situato nella propria directory home (è il file che contiene le opzioni per mailx) e impostare il percorso della nuova directory.

    Modificare la variabile set folder inserendo il percorso completo della directory appena creata. Ad esempio:

    set folder=/home/corte/lorenzo/Messaggi
    

    In alternativa, se si sta utilizzando una C shell è possibile usare il simbolo ~ per specificare la directory home.

    set folder=~/Messaggi
    

    A questo punto la directory è impostata per ricevere i messaggi salvati nei raccoglitori. (La modifica al file .mailrc diventa effettiva all'avvio successivo di mailx.)

Designazione dei raccoglitori

Per salvare e copiare un messaggio in un raccoglitore o in un file si utilizzano gli stessi comandi, con la differenza che il nome del raccoglitore è preceduto da un segno (+) anziché da un percorso. Il segno + indica a mailx che il raccoglitore deve essere archiviato nella directory appositamente impostata (Messaggi).

Ad esempio, per salvare il messaggio 3 in un raccoglitore di nome progetti, digitare:

& s 3 +progetti

mailx interpreta questo comando come "salva il messaggio 3 in ~/Messaggi/progetti". (Se il raccoglitore specificato non esiste, mailx lo crea al momento del salvataggio.)

Per copiare il messaggio nel raccoglitore, digitare:

& c 3 +progetti

Invio di un messaggio a un file o a un raccoglitore

È anche possibile inviare una copia dei messaggi spediti direttamente a uno dei propri file o raccoglitori. Per dirigere una copia in un raccoglitore, digitare il nome del raccoglitore nel campo Cc: o nel campo Bcc:. Per dirigere una copia del messaggio in un file, seguire la stessa procedura specificando il percorso completo del file.

Lettura dei messaggi salvati in file e raccoglitori

Per leggere un messaggio salvato in un file, usare il comando:

mailx -f nomefile

Ad esempio, per leggere il file ~/memo/spese, digitare:

$ mailx -f ~/memo/spese

Per leggere un messaggio salvato in un raccoglitore, seguire la stessa procedura utilizzando il segno + al posto del percorso. Ad esempio, per leggere i messaggi memorizzati nel raccoglitore progetti, digitare:

$ mailx -f +progetti

Questo comando avvia mailx nel file o nel raccoglitore specificato. Verranno visualizzate solo le intestazioni dei messaggi presenti nel file o nel raccoglitore. Per selezionare uno dei messaggi, digitarne il numero al prompt di mailx e premere Return.

È anche possibile utilizzare i raccoglitori dopo avere avviato mailx. Per visualizzare l'elenco dei raccoglitori disponibili, digitare al prompt di mailx il comando:

& folders

Per passare dalla casella postale a un raccoglitore, digitare il comando:

& folder +nome_raccoglitore

Per tornare alla casella postale, digitare al prompt:

& %

Per tornare al raccoglitore precedente, digitare:

& #

Uso di vi con mailx

Per comporre un messaggio in mailx è anche possibile utilizzare l'editor di testo vi. In questo modo si possono correggere eventuali errori e aggiungere o cancellare parti di testo prima di inviare i messaggi. Per informazioni sull'uso di vi, vedere Capitolo 6.

In mailx è possibile usare i comandi standard di vi per inserire, cancellare e modificare parti di testo.

Per scrivere un messaggio con vi:

  1. Digitare il comando mailx con un indirizzo al prompt di mailx (&) o al prompt di sistema ($).

  2. Inserire l'oggetto del messaggio nel campo Subject: e premere Return.

  3. Avviare vi digitando da una nuova riga il comando ~v. Appare la videata di vi contenente un file vuoto nella directory /tmp.

  4. Usare i comandi di vi per inserire e modificare il testo del messaggio.

  5. Al termine, uscire da vi con il comando :wq o ZZ.

    Dopo l'uscita da vi, mailx visualizza il messaggio (continuare):. A questo punto è possibile modificare ulteriormente il messaggio (al di fuori di vi) o inviarlo premendo Ctrl-D.

Alias postali

Un alias postale rappresenta un gruppo di utenti riuniti sotto uno stesso nome.

Gli alias postali vengono in genere utilizzati quando si inviano messaggi regolarmente a uno stesso gruppo di persone. Ad esempio, se capita spesso di inviare lo stesso messaggio a paola@fattoria, giorgio@sicilia e sandra@dakota, è possibile creare un alias postale di nome amici. Specificando amici come destinatario, il messaggio sarà ricevuto da tutti gli utenti riuniti sotto quell'alias.

Sono disponibili due file per l'impostazione degli alias postali:

Gli alias impostati in .mailrc si comportano diversamente da quelli impostati in /etc/aliases. Le differenze sono riassunte nella Tabella 7-1 alla fine di questo paragrafo.

Impostazione di un alias postale in .mailrc

Per impostare un alias in .mailrc occorre ricordare quanto segue:

Il file .mailrc si trova nella directory home e contiene una serie di parametri che controllano il comportamento di mailx e di Posta Elettronica.

Per inserire un alias postale in .mailrc, digitare:

$ vi ~/.mailrc    


Nota -

Il file .mailrc può essere aperto con qualsiasi editor di testo. L'esempio precedente illustra il comando da utilizzare per aprire il file con vi. Per informazioni sull'uso di vi, vedere Capitolo 6.


Ogni alias postale deve essere contenuto in un'unica riga del file. Questa condizione non riguarda la forma di visualizzazione (l'alias può occupare più righe sullo schermo); significa piuttosto che l'alias non può contenere caratteri di ritorno a capo. Ogni alias deve contenere le informazioni seguenti, separate da spazi:

L'esempio seguente mostra due alias postali. Il primo (amici) include tre persone, il secondo (softball) ne include otto. Si noti che in softball i nomi degli utenti occupano più di una riga sullo schermo, ma non vengono utilizzati caratteri di ritorno a capo.

alias amici paola@fattoria giorgio@sicilia sandra@dakota
alias softball ugo@woofer max@twister paola@fattoria gabri@zoo
lorenzo@firenze jj@walker sandra@dakota stefano@fiesta

Per inviare un messaggio alle persone riunite sotto un alias di .mailrc, è sufficiente utilizzare come destinatario l'alias corrispondente. Non occorre inserire il nome del proprio sistema. Ad esempio, inviando il messaggio seguente:

$ mail amici
Subject: Proposta mangereccia

Ciao a tutti. Cosa ne dite di pranzare insieme il prossimo
venerdì? C'è qualcuno libero?

i destinatari lo vedrebbero nel modo seguente (si osservi la riga To: espansa):

To: paola@fattoria giorgio@sicilia sandra@dakota
Subject: Proposta mangereccia

Ciao a tutti. Cosa ne dite di pranzare insieme il prossimo
venerdì? C'è qualcuno libero?

Impostazione di un alias postale in /etc/aliases

Per impostare un alias postale in /etc/aliases occorre ricordare quanto segue:

Gli alias creati in /etc/aliases hanno un formato leggermente diverso da quelli di .mailrc. Ogni alias di /etc/aliases deve essere composto come segue:

Per modificare il file /etc/aliases occorre operare come utente root. Se l'accesso al sistema come utente root è protetto da una password, è necessario conoscere la password.

Per operare sul sistema come utente root, digitare quanto segue:

$ su
Password:
#

Si noti che il prompt di sistema utilizza un simbolo diverso per l'utente root.

L'esempio seguente mostra come aggiungere l'alias softball@sport al file di default /etc/aliases.

# vi /etc/aliases     
##
#Aliases can have any mix of upper and lower case on the left-
#hand side,
#but the right-hand side should be proper case (usually lower)
#
#     >>>>>>>>>>The program "newaliases" will need to be run after
#     >> NOTE >>this file is updated for any changes to
#     >>>>>>>>>>show through to sendmail.
#
#@(#)aliases 1.10 89/01/20 SMI
##
# Following alias is required by the mail protocol, RFC 822
# Set it to the address of a HUMAN who deals with this system's
mail problems.
Postmaster: root

# Alias for mailer daemon; returned messages from our MAILER-
DAEMON
# should be routed to our local Postmaster.
MAILER-DAEMON: postmaster

# Aliases to handle mail to programs or files, eg news or vacation
# decode: "|/usr/bin/uudecode"
nobody: /dev/null

# Sample aliases:
# Alias for distribution list, members specified here:
#staff:wnj,mosher,sam,ecc,mckusick,sklower,olson,rwh@ernie

# Alias for distribution list, members specified elsewhere:
#keyboards: :include:/usr/jfarrell/keyboards.list

# Alias for a person, so they can receive mail by several names:
#epa:eric

#######################
# Local aliases below #
#######################
softball@texas: earl@woofer
tex@twister elmer@farmhouse
jane@freeway hank@fretful jj@walker sally@dakota steve@hardway
:wq         (per uscire da  vi e salvare il file   /etc/aliases )
# exit      (per uscire dal modo root)
$
      

Il file /etc/aliases può essere aperto con qualsiasi editor di testo. L'esempio precedente illustra i comandi utilizzati per aprire il file con vi. Per informazioni sull'uso di vi, vedere Capitolo 6.

Si noti che i cancelletti (#) che compaiono nel file /etc/aliases hanno lo scopo di commentare il testo e gli alias di esempio. Il simbolo del cancelletto impedisce al sistema di utilizzare queste informazioni come alias effettivi.

Non inserire un cancelletto davanti agli alias che si desidera aggiungere, a meno che non si voglia intenzionalmente disabilitarli.

Per inviare un messaggio alle persone riunite sotto un alias di /etc/aliases, indicare come destinatario il nome dell'alias e il nome del proprio sistema. Ad esempio, inviando il messaggio seguente:

$ mail softball@sport
Subject: Allenamento oggi

Appuntamento al campo numero 4 dopo il lavoro. Se tutto va bene
riusciamo ad allenarci per la partita di sabato! Cercate di
arrivare il più presto possibile.

i destinatari lo riceveranno in questa forma:

To: softball@sport
Subject: Allenamento oggi

Appuntamento al campo numero 4 dopo il lavoro. Se tutto va bene
riusciamo ad allenarci per la partita di sabato! Cercate di
arrivare il più presto possibile.

Si osservi che la riga To: non viene espansa.

Quando si utilizza un alias postale di questo tipo, occorre sempre specificare il nome del sistema nel quale l'alias è stato definito. Se ad esempio si imposta un alias di nome piloti sul sistema circuito, i messaggi dovranno essere inviati a piloti@circuito.

La Tabella 7-1 riassume le differenze tra gli alias creati in .mailrc e quelli creati in /etc/aliases.

Tabella 7-1 Confronto tra gli alias di .mailrc e quelli di /etc/aliases

 

.mailrc

/etc/aliases

Modifica riservata a utente root 

no 

sì 

Formato destinatario: 

alias

alias@nomesistema

Nomi visibili dai destinatari 

sì 

no 

Nomi separati da virgole 

no 

sì 

Nomi su un'unica riga 

sì 

no 

Alias accessibili ad altri utenti 

no 

sì 

Per informazioni più dettagliate sugli alias postali, digitare man aliases o man addresses al prompt di sistema.

Comandi tilde

Durante la composizione di un messaggio è possibile utilizzare i cosiddetti comandi tilde per una serie di funzioni. I comandi tilde sono formati in genere da un tilde (~) seguito da una lettera. La tabella seguente descrive alcuni dei comandi tilde più comuni, alcuni dei quali sono già stati menzionati nel corso del capitolo.


Nota -

Per inserire un vero carattere di tilde all'interno di un messaggio, digitare due caratteri tilde in sequenza; ne verrà visualizzato uno solo.


Tabella 7-2 Comandi tilde (mailx)

Comando 

Funzione 

~!comando

Permette l'esecuzione di un comando shell 

~.

Simula Ctrl-D per marcare la fine del file 

~?

Visualizza un elenco dei comandi tilde 

~b nomeutente

Permette di aggiungere un nome utente ai destinatari delle copie silenti (Bcc:) 

~c nomeutente

Permette di aggiungere un nome utente ai destinatari delle copie per conoscenza (Cc:) 

~d

Inserisce il contenuto del file dead.letter nel messaggio corrente.

~f numero

 

Invia il messaggio specificato. Disponibile solo quando si invia un messaggio durante la lettura della posta. 

~h

Visualizza i prompt per le righe di intestazione: Subject, To, Cc e Bcc. 

~m numero

 

Inserisce il testo del messaggio specificato nel messaggio corrente. Disponibile solo quando si invia un messaggio durante la lettura della posta. 

~p

Stampa il messaggio inserito. 

~q

Simula un doppio Ctrl-C. Se il messaggio corrente non è vuoto, il contenuto viene salvato nel file dead.letter.

~r nomefile

Inserisce nel messaggio il testo del file specificato. 

~s stringa

Cambia la riga Subject: in stringa.

~t nome

Aggiunge i nomi specificati nel campo di intestazione To. 

~w nomefile

Salva il messaggio corrente senza intestazione nel file specificato. 

~x

Esce da mailx. Simile a ~q, ma il messaggio non viene salvato nel file dead.letter.

Visualizzazione della guida per gli altri comandi di mailx

mailx dispone di due comandi che visualizzano l'elenco dei comandi e delle funzioni disponibili. Se ci si trova in modalità comando, digitando ? al prompt di mailx (&) compare un elenco dei comandi disponibili per quella modalità. Analogamente, se ci si trova in modalità inserimento (ad esempio durante la composizione di un messaggio) è possibile digitare il comando equivalente ~? per visualizzare un elenco dei comandi tilde (detti anche escape tilde").

Le pagine del manuale online contengono informazioni approfondite su mailx, espresse in forma più tecnica. Per visualizzare tali informazioni, digitare:

$ man mailx

Oppure, consultare la guida man Pages(1): User Commands.