So che esiste il comando mail
in linux per inviare e-mail tramite la riga di comando. Come posso inviare una semplice email con una sola riga dal terminale?
Per esempio:
mail [email protected] [subject] [body]
E l'email è stata inviata senza alcuna conferma o richiesta all'utente?
Il motivo è che voglio inviare un breve messaggio via email a me stesso quando un evento specifico accade in un programma Java
. L'idea è che userò Runtime.getRuntime()
... ecc. Per inviare mail command
dal mio programma Java
.
Ho usato cron
per fare qualcosa di simile in passato, ma l'attuale implementazione non usa cron
, quindi ho bisogno di provare invece.
mail può rappresentare un bel paio di programmi su un sistema Linux. Quello che vuoi dietro è o sendmail o postfix . Raccomando quest'ultimo.
Puoi installarlo tramite il tuo gestore di pacchetti preferito. Quindi devi configurarlo e una volta fatto, puoi inviare email come questa:
echo "My message" | mail -s subject [email protected]
Vedere il manuale per ulteriori informazioni.
Per quanto riguarda la configurazione di postfix, ci sono molti articoli su internet su come farlo. A meno che non si trovi su un server pubblico con un dominio registrato, in genere si desidera inoltrare l'e-mail a un server SMTP da cui è possibile inviare e-mail.
Ad esempio, per gmail, segui http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ o qualsiasi altro tutorial simile .
È possibile utilizzare un eco con una pipe per evitare prompt o conferma.
echo "This is the body" | mail -s "This is the subject" [email protected]
echo "Subject: test" | /usr/sbin/sendmail [email protected]
Ciò consente di farlo all'interno di una riga di comando senza dover echeggiare un file di testo. Questa risposta si basa sulla risposta di @ mti2935. Quindi il credito va lì.
Puoi anche usare sendmail:
/usr/sbin/sendmail [email protected] < /file/to/send
Per gli utenti di Ubuntu: Innanzitutto è necessario installare mailutils
Sudo apt-get install mailutils
Imposta un server di posta elettronica, se stai usando gmail o smtp. segui questo link . quindi utilizzare questo comando per inviare e-mail.
echo "this is a test mail" | mail -s "Subject of mail" [email protected]
Se stai usando gmail e continui a ricevere qualche errore di autenticazione, devi modificare le impostazioni di gmail:
Attiva Access per app meno sicure da qui
Puoi installare il pacchetto di posta in Ubuntu con il comando seguente.
Per Ubuntu -:
$ Sudo apt-get install -y mailutils
Per CentOs-:
$ Sudo yum install -y mailx
Comando di posta di prova:
$ echo "Mail test" | mail -s "Subject" [email protected]