2011-11-24 10 views
121

So che ci sono modi per inviare e-mail dal terminale in Linux/MacOS, ma non riesco a trovare documentazione adeguata su come farlo.Come inviare e-mail dal terminale?

Fondamentalmente ho bisogno per il mio script bash che mi avvisa ogni volta che c'è un cambiamento in un file.

+2

Si dovrebbe probabilmente essere notato qui che alcuni host e ISP "spegnere" la possibilità per voi di inviare e-mail. Presumo che sia un tentativo di fermare le persone che inviano spam e phishing attraverso di loro –

+0

@JimJeffries Quali? Sto usando un server web Amazon EC2. – ckjbgames

risposta

110
echo "this is the body" | mail -s "this is the subject" "[email protected]" 
+14

Nota: tutte queste soluzioni presuppongono che sia stato installato un MTA – Miquel

+8

@Miquel installato localmente. In Ubuntu, è possibile ottenere i prerequisiti tramite 'sudo apt-get install mailutils'. – earldouglas

+3

@James, Non funziona per il mio MAC ((Potrebbe aiutarmi? – neo

34

Se tutto ciò che serve è una riga di oggetto (come in un messaggio di avviso) semplicemente:

mailx -s "This is all she wrote" < /dev/null "[email protected]" 
+0

Il mio preferito di gran lunga –

+0

@medTechy Sono contento che lo abbia trovato utile – JRFerguson

+0

Molto utile ... Molte grazie !! – Shambho

7

nel terminale sul vostro mac os o linux os digitare questo codice

mail -s (subject) (receiversEmailAddress) <<< "how are you?" 

per esempio provare questo

mail -s "hi" [email protected] <<< "how are you?"<br> 
13

Se si vuole allegare un file su Linux

echo 'mail content' | mailx -s 'email subject' -a attachment.txt [email protected] 
+3

Fornisce un messaggio' header non valido' per il mio file allegato.L'opzione corretta era un '' A 'in maiuscolo. – Stephane

+0

@Stephane Secondo Patrick-haugh, -a è l'interruttore di attacco. -A è per il comando account. Vedi la pagina man: https://linux.die.net/man/1/mailx – MiaeKim

Problemi correlati