Inviare email da shell con file allegati

Molti programmatori già sanno com’è facile inviare email da shell. Una semplice invocazione al comando “mail” con il destinatario passato come parametro, gli invierà tutti i dati letti dallo standard input.

$ mail giovanni@emailprova.it < /tmp/testo.txt
$ echo "Ci vediamo questa sera?" | mail milena@emailprova.it

Il comando mail accetta anche altri parametri:

  • -b bcc-addr Invia l’email in copia carbone nascosta agli indirizzi specificati.
  • -c cc-addr Invia l’email in copia carbone agli indirizzi specificati.
  • -s subject Specifica l’oggetto dell’email.

Ad esempio:

$ echo "andiamo fuori per una pizza?" | mail \
 -c "marco@emailtest.it, franco@emailtest.it" \
 -s "Serata pizza" nicola@emailtest.it

A volte però, nasce la necessità di inviare uno o più allegati, che non sono semplice testo, ma immagini, o file binari in generale.
Volendo usare il comando “mail”, sarebbe necessario codificare questi file secondo lo standard MIME, preparare una email testuale ed inviarla.

A venirci in aiuto, però, c’è il programma “mutt“.

Mutt è un client email, interattivo, orientato al testo, che all’occorrenza diventa un utilissimo strumento da riga di comando, per inviare email con allegati.

Ad esempio:

echo "Ecco la canzone che mi chiedevi." | mutt \
-a "canzone.mp3" \
-s "Canzone" marco@emailtest.it

In questo esempio ci sono tutte le parti più importanti di una email:

  • L’oggetto, passato dall’opzione -s.
  • Il corpo principale, letto dallo standard input.
  • Il destinatario (marco@emailtest.it).
  • L’allegato, specificato dall’opzione -a.

Se, infine, non si vuole specificare nessun testo è possibile passare una riga vuota:

echo | mutt -a "/tmp/backup.tar.gz" \
-s "Backup" sysadmin@serveremail.com

O /dev/null:

mutt -a "/tmp/backup.tar.gz" -s "Backup" \
sysadmin@serveremail.com < /dev/null

É possibile scaricare mutt all’indirizzo http://www.mutt.org/, questo programma è disponibile per una enorme quantità di dialetti unix / linux e per Microsoft Windows.

Tag: , , , , ,

Lascia un Commento

ERRORE: il plugin si-captcha.php informa che il supporto GD image non é stato rilevato in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché il supporto GD image non sia stato abilitato per il PHP.

ERRORE: il plugin si-captcha.php informa che la funzione imagepng non é stata rilevata in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché la funzione imagepng non sia stata abilitata per il PHP.