mail(1) è un MUA (Mail User Agent) in modo testo.
Permette di mandare messaggi di posta elettronica e manipolare i
messaggi ricevuti, da/a utenti locali o remoti attraverso la rete.
Per provare un utente può inviare un messaggio a sé stesso. I
dettagli del comportamento interattivo di mail variano da sistema a
sistema. Un esempio con mailx di Linux o FreeBSD:
$ mail
|
|
(controlla la posta) |
No mail for ant
|
|
(niente di nuovo) |
$ mail ant
|
|
(scrivi messaggio ad
ant) |
Subject: auto-prova
|
|
(oggetto) |
prima linea
seconda
|
|
(CTL-d per
terminare) |
Cc:
|
|
(RETURN) |
$ mail
|
|
(stavolta c'è
qualcosa) |
Mail version 8.1.1 6/6/93. Type ? for help.
"/var/spool/mail/ant": 1 message 1 new
>N 1 ant@localhost.locald Thu Feb 28 22:08 14/430 "auto-prova"
|
&
|
|
(prompt di mail, premo
ENTER) |
Message 1:
From ant Thu Feb 28 22:08:28 2002
Date: Thu, 28 Feb 2002 22:08:28 +0100
From: Antonio Bonifati <ant@localhost.localdomain>
To: ant@localhost.localdomain
Subject: auto-prova
prima linea
seconda
|
&
|
|
(premo ancora
ENTER) |
At EOF
|
|
(nessun altro
messaggio) |
& q
Saved 1 message in mbox
|
|
(esci da mail) |
All'inizio mail stampa un prospetto dei messaggi contenuto nella
mailbox, in ordine FIFO (o LIFO se avete un'altra versione di mail)
e il messaggio corrente è il numero 1. Usare il comando
p per (ri)stampare il messaggio corrente. Il comando
+ si sposta sul messaggio successivo e lo stampa.
- si sposta sul messaggio precedente e lo stampa. Un
numero si sposta sul messaggio con quel numero e lo stampa.
h ripete la stampa del prospetto. d marka il
messaggio corrente per la cancellazione senza mostrarlo e stampa il
successivo.
|
! |
|
esegue il comando di shell che segue |
|
? |
|
stampa breve sommario comandi |
|
+ |
|
messaggio successivo, stampa |
|
- |
|
messaggio precedente, stampa |
|
d |
|
cancella messaggio corrente, stampa successivo |
|
h |
|
stampa header dei messaggi |
|
m to-addr ... |
|
nuovo messaggio a to-addr ... |
|
p |
|
(ri)stampa messaggio corrente |
|
r |
|
risponde al messaggio corrente |
|
s [file] |
|
salva msg corrente in [file] (default mbox) |
|
w [file] |
|
come s, ma solo il body, senza gli header |
|
q o CTL-d |
|
esci |
|
x |
|
esci senza modificare la casella postale |
q scarta i messaggi cancellati e salva quelli letti
nel file di testo ~/mbox. I messaggi non letti rimangono
nella casella postale. Con x invece si annullano tutti i
comandi d dati prima, e si esce da mail senza modificare
la casella postale in /var/spool/mail/$USER,
/var/mail/$USER e simili.
Altri esempi:
& !ls
...
!
&
|
|
(esegue un ls da dentro
mail) |
$ mail -f
|
|
(legge le vecchie mail in
mbox) |
$ mail antonio.bonifati@libero.it
|
|
(mail a utente remoto con
SMTP) |
$ mail
...
& r
To: root
Subject: Re: prova
|
|
(reply con quoting) |
~m
Interpolating: 1
(continue)
risposta
|
|
(~m include msg originale
(header+body)) |
EOT
...
|
|
(CTL-d) |
# mail
|
|
(notare le > che indicano il
quoting) |
Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/root": 1 message 1 new
>N 1 ant Sun Mar 3 18:15 24/610 "Re: prova"
&
Message 1:
From ant Sun Mar 3 18:15:33 2002
Date: Sun, 3 Mar 2002 18:15:32 +0100 (CET)
From: Antonio Bonifati <ant>
To: root
Subject: Re: prova
In-Reply-To: <200203031710.g23HAxx00140@tequila.rett.polimi.it>
> From root Sun Mar 3 18:10:59 2002
> Date: Sun, 3 Mar 2002 18:10:59 +0100 (CET)
> From: Charlie Root <root>
> To: ant
> Subject: prova
>
> testo
> di prova
>
risposta
|
Per invocare l'editor su un messaggio che si sta scrivendo
digitare ~e: si può editare tutto quello scritto finora
e finita la sessione di editing quello che si digita viene
appeso.
Interrompendo la scrittura di un messaggio con CTL-C
il messaggio viene salvato in ~/dead.letter
mail è molto utile negli script di shell perché può essere usato
in modo non interattivo:
mail -s "subject" rcpt < msgfile
|
|
(manda msgfile a rcpt) |
prg cmd | mail -s "subject" rcpt
|
|
(manda a rcpt l'output di
prg) |
Per creare una lista di distribuzione definirla in
~/.mail_aliases come alias, ad es.:
$ cat alias friends bill joe mark@somedomain.com >>~/.mail_aliases
|
$ mail friends
|
|
(utilizza la lista definita
prima) |
|