invio di posta dalla riga di comando di Linux


1

È possibile inviare posta dal terminale Linux a qualsiasi account Gmail.

Se possibile, quali sono le configurazioni necessarie.

Ho provato con mailx e sendmail ma non funziona.

Ho anche provato con Mutt in questo modo

echo "test" | mutt -s this-is-my-subjest XXXXX@gmail.com

ma non usare ...

Sto usando CentOS 6.2


Cosa non funziona? Hai ricevuto un messaggio di errore? Hai controllato qualche file di registro?
— Emil Vikström

Non ricevo alcun messaggio di errore. ma non ricevere anche la posta.
— max

Dovresti riuscire a trovare un file di registro /var/log/. Viene spesso chiamato maillog o simili. Cosa dice dopo aver provato il tuo comando?
— Emil Vikström

niente, apparirà il prossimo prompt dei comandi.
— max

in var / log / maillog la sua rappresentazione Network is unreachable
— max

Risposte:


4

Vorrei consigliare di usare sendEmail:

sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>

Synopsis:  sendEmail -f ADDRESS [options]

  Required:
    -f ADDRESS                from (sender) email address
    * At least one recipient required via -t, -cc, or -bcc
    * Message body required via -m, STDIN, or -o message-file=FILE

  Common:
    -t ADDRESS [ADDR ...]     to email address(es)
    -u SUBJECT                message subject
    -m MESSAGE                message body
    -s SERVER[:PORT]          smtp mail relay, default is localhost:25

  Optional:
    -a   FILE [FILE ...]      file attachment(s)
    -cc  ADDRESS [ADDR ...]   cc  email address(es)
    -bcc ADDRESS [ADDR ...]   bcc email address(es)
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

  Paranormal:
    -b BINDADDR[:PORT]        local host bind address
    -l LOGFILE                log to the specified file
    -v                        verbosity, use multiple times for greater effect
    -q                        be quiet (i.e. no STDOUT output)
    -o NAME=VALUE             advanced options, for details try: --help misc
        -o message-content-type=<auto|text|html>
        -o message-file=FILE         -o message-format=raw
        -o message-header=HEADER     -o message-charset=CHARSET
        -o reply-to=ADDRESS          -o timeout=SECONDS
        -o username=USERNAME         -o password=PASSWORD
        -o tls=<auto|yes|no>         -o fqdn=FQDN


  Help:
    --help                    the helpful overview you're reading now
    --help addressing         explain addressing and related options
    --help message            explain message body input and related options
    --help networking         explain -s, -b, etc
    --help output             explain logging and other output options
    --help misc               explain -o options, TLS, SMTP auth, and more

Funziona molto bene per me. Ricordati di usare TLS con gmail. È necessario fornire i dettagli del server che invierà l'e-mail con tali opzioni:

    -s SERVER[:PORT]          smtp mail relay, default is localhost:25
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

È meglio per me in quanto consente di aggiungere allegati e può essere facilmente inserito negli script.

Esempio di utilizzo:

sendEmail -f x1user@gmail.com -t x2user@gmail.com -s test -m messageBody -s smtp.gmail.com -xu x1user@gmail.com -xp xxxxxpass -o tls=auto
Aug 17 16:21:37 z sendEmail[22420]: Email was sent successfully!

puoi fornire un semplice esempio?
— max

1
sicuro che lo inserirò nella risposta in basso
— mnmnc

sendmail può fare molto di più che mailto, ma ho trovato che è piuttosto complicato, uso sendmail in alertscript per ottenere tutto, ma per inviare semplicemente una mail, mailto è piuttosto semplice, penso. Come usare un fucile per sparare una zanzara per me.
— Anarko_Bizounours

possibilmente. ma quello che probabilmente ti sei perso - sto proponendo E -mail. non sendmail. non ho mai avuto la possibilità di usare sendmail ma sendEmail fa tutto ciò di cui ho bisogno.
— mnmnc

nessun comando sendEmail installato, quindi ho provato yum install sendEmail ma il suo dare No package sendEmail available
— max

3

Il mail il programma terminale dovrebbe fare il trucco. Di solito funziona "immediatamente" per consentire agli utenti / programmi di inviare messaggi localmente, all'interno del sistema.

genere mail -s 'subject line' someone@gmail.com e premi return. Quindi digita il messaggio e chiudi / invia utilizzando Ctrl-D.


Ho provato questo, ma non funziona ... è necessaria alcuna configurazione, prima di fare questo?
— max

1
Puoi provare a inviare una email a te stesso sulla macchina: mail -d -s subject your name@localhost. L'opzione -d fornirà l'output di debug per dirti che cosa sta causando il problema.
— danielcraigie

Su alcuni sistemi devi usare mailx invece di posta.
— mdpc

0

normalmente non hai alcuna configurazione specifica, CentOS ha ottenuto per impostazione predefinita un server di posta.

Se ricordo che il comando è mailto quindi digita le informazioni (da, oggetto etc, ...) e digita il testo, e quando hai finito di digitare ctrl + D, otterrai EOT.

Tieni presente che il tuo server di posta userà le tue informazioni utente, qualcosa del genere from : user@pcname ma non sono con Linux oggi, quindi non posso verificarlo.

Spero che questo ti sia d'aiuto.

MODIFICARE :

lì il link alla pagina man O'reilly: Là

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.