Come inviare posta dalla riga di comando?
Come inviare posta dalla riga di comando?
Risposte:
Prova a installare il client di posta elettronica Mutt . Un'altra opzione è usare emacs con gnus . Altre opzioni disponibili anche ... IMHO, dovresti usare più dettagli nelle tue domande, o diverse risposte diverse alla tua domanda che riceverai :-)
Installa ssmtp :
sudo apt-get install ssmtp
Modifica il file di configurazione di ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Aggiungi il seguente testo:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Esegui ssmtp e fornisci l'indirizzo email del destinatario:
ssmtp recepient_name@gmail.com
Fornire i dettagli del messaggio come segue:
To: recipient_name@gmail.com
From: username@gmail.com
Subject: Sent from a terminal!
Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
(Notice the blank space between the subject and the body.)
Premi Ctrl+ Dper inviare.
Puoi anche inserire il testo nel file e inviarlo come segue:
ssmtp recipient_name@gmail.com < filename.txt
Il più delle volte non dovresti aver bisogno di configurare un server SMTP che puoi semplicemente usare mail
dalla riga di comando (se non è già presente, installa con sudo apt-get install mailutils
). (O se ti trovi su un server in cui è configurato sendmail, ecc.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
Terminare i messaggi con un singolo .
in linea. In quel momento mail
ti verrà chiesto di Cc:
inserire le informazioni (o di lasciarle in bianco) e mail
quindi di stampare ulteriori informazioni su ciò che sta tentando di fare, oltre a dettagliare l'elaborazione della connessione, della trasmissione e della ricezione di dati dal server di posta.
sudo apt-get install mailutils
installerà un server SMTP postfix
che potrebbe essere un po 'sovrappeso per alcune persone.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
utilizzo:
sendemail -f fromuser@gmail.com -t touser@domain.com -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu gmailaccount@gmail.com -xp gmailpassword
Se non vuoi specificare la tua password nella riga di comando (generalmente non è una buona cosa da fare), puoi omettere quel parametro e sendemail ti chiederà la password ... e la visualizzerà sullo schermo, ma almeno non sarà nella cronologia della riga di comando.
sendmail
certezza molto utile. Grazie.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
e ovviamente se lo chiami a livello di codice puoi fare qualcosa di simile, es: ruby system("sendemail ... -xp #{File.read 'my_password'}...")
potrebbe anche fallire il la prima volta, dovresti ricevere un'email a quell'account che ti suggerisce di "abilitare le app meno sicure", quindi può funzionare.
È necessario un MTA per inviare la posta. Per questo, usa postfix:
sudo apt-get install postfix
Per inviare e-mail:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
quando sono entrato nel terminale
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
o
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
in Ubuntu / Debian o yum install mailx
in CentOS / Redhat
Tutto è spiegato qui .
hanoo@hp_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <netcat@postfix.com>
250 2.1.0 Ok
RCPT TO: <target@host.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
This is the body of my mail,
this is the second line...
.
250 2.0.0 Ok: queued as 9C12E7F404
swaks
e stai bene anche con SSL / TLS ;-)
openssl s_client -starttls smtp ...
Se si tenta di inviare e-mail da un sistema, che non esegue un proprio server di posta elettronica (cioè un sistema desktop), è necessario installare qualcosa come nullmailer o esmtp , che inoltra la posta locale a una "vera" posta server.
Come strumenti da riga di comando puoi installare mail o mailx (pacchetti mailutils, heirloom-mailx o bsd-mailx). Se hai bisogno di allegati, prova biabam.
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
dove filename
è lo stesso: sta per file di input e file remoto.
sudo apt-get install sharutils
peruuencode
Puoi provare questo:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Funziona con GNU Mailutils , controlla il sito Web per ulteriori informazioni.
Esegui :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
È necessario aggiungere qui:
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
Esegui :
sudo -H gedit /etc/ssmtp/revaliases
Inserisci lì:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Abilita "app meno sicure" su Gmail:
https://support.google.com/accounts/answer/6010255?hl=it
Provalo eseguendo quanto segue sul terminale:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
Oltre a quanto sopra, continuavo a ricevere questo errore
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv somebody@mil.gov
[<-] 220 smtp.gmail.com ESMTP v193sm19198825qka.18 - gsmtp
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] aG94Z2VuZUBrrrFpbC5jb20=
[<-] 334 UGFzweliecmQ6
[<-] 534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp
ssmtp: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp)
SOLUZIONE: reimpostare la password di Gmail anche quando la password corrente è corretta ... possibilmente precauzione di sicurezza di Google