Come inviare posta dalla riga di comando?

193

Come inviare la posta dalla riga di comando?

    
posta Olivier Lalonde 12.11.2010 - 21:27

15 risposte

32

Prova ad installare il client e-mail Mutt . Un'altra opzione è l'uso di emacs con gnus . Sono disponibili anche altre opzioni ... IMHO, dovresti usare più dettagli nelle tue domande, o più risposte diverse alla tua domanda che riceverai: -)

    
risposta data crncosta 12.11.2010 - 21:46
142
  1. Installa ssmtp :

    sudo apt-get install ssmtp
    
  2. Modifica il file di configurazione ssmtp:

    gksu gedit /etc/ssmtp/ssmtp.conf
    
  3. Aggiungi il seguente testo:

    [email protected]
    mailhub=smtp.gmail.com:465
    rewriteDomain=gmail.com
    AuthUser=username
    AuthPass=password
    FromLineOverride=YES
    UseTLS=YES
    
  4. Esegui ssmtp e fornisci l'indirizzo email del destinatario:

    ssmtp [email protected]
    
  5. Fornisci i dettagli del messaggio come segue:

    To: [email protected]
    From: [email protected]
    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.)
    
  6. Premi Ctrl + D per inviare.

Puoi anche inserire il testo nel file e inviarlo come segue:

ssmtp [email protected] < filename.txt
    
risposta data Sid 12.11.2010 - 22:32
84

La maggior parte delle volte non dovresti aver bisogno di configurare un server SMTP, puoi semplicemente usare mail dalla riga di comando (se non è già presente, installa con sudo apt-get install mailutils ). (O se sei su un server in cui sendmail è configurato, ecc.)

[email protected]:~$ mail -v [email protected]
Subject: Hello World!
This is an email to myself.

Hope all is well.
.
Cc: 

Chiudi i messaggi con un singolo . sulla riga. Questo è quando mail ti chiederà per Cc: di inserire le informazioni (o di lasciare vuoto) e mail stamperà quindi ulteriori informazioni su ciò che sta tentando di fare, oltre a dettagliare l'elaborazione di connessione, trasmissione e ricevere dati dal server di posta.

    
risposta data Marco Ceppi 12.11.2010 - 23:52
44
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail

utilizzo:

sendemail -f [email protected] -t [email protected] -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu [email protected] -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 mostrarla sullo schermo, ma almeno non sarà nella cronologia della riga di comando.

    
risposta data jet 14.11.2010 - 02:48
21

mpack è un modo eccellente per inviare file allegati.

apt-get install mpack

utilizzo:

mpack -s "file you wanted" ./data.pdf [email protected]
    
risposta data BozoJoe 12.11.2010 - 23:47
16

È necessario un MTA per inviare posta. Per questo, usa postfix:

sudo apt-get install postfix

Per inviare email:

echo "test message" | mailx -s 'test subject' [email protected]

HELP

    
risposta data One Zero 10.08.2012 - 17:57
14

Installa il pacchetto sendmail quindi digita

sendmail -t [email protected] 

quindi scrivi la tua email quindi premere Ctrl + D

    
risposta data MhdSyrwan 03.07.2012 - 19:14
8

Puoi inviare un'email dalla riga di comando con TelNet o NetCat .

Tutto è spiegato qui .

[email protected]_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <[email protected]>
250 2.1.0 Ok
RCPT TO: <[email protected]>
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
    
risposta data hanoo 30.10.2012 - 06:33
8
mail -s "subjet" -a "attchedfile_name" [email protected]_email.com

o

cat "afile" | mail -s "subject" [email protected]_email.com
    
risposta data user142345 21.03.2013 - 20:16
6

Se si tenta di inviare e-mail da un sistema, che non esegue un proprio server di posta elettronica (ad es. sistema desktop), è necessario installare qualcosa come nullmailer o esmtp , che inoltrano la tua posta locale a un" vero "server di posta.

Come strumenti da riga di comando puoi installare mail o mailx (pacchetti mailutils, heirloom-mailx o bsd-mailx). Se hai bisogno di allegati prova con biabam.

    
risposta data ddeimeke 12.11.2010 - 22:21
5

Non l'ho mai provato, ma esiste un comando mail che può inviare posta. Vedi mail uomo .

Per testare l'email locale:

echo message | mail [email protected]
    
risposta data dv3500ea 12.11.2010 - 21:30
5
sudo apt-get install sharutils mailutils
uuencode filename filename | mail [email protected]

dove filename è uguale: rappresenta il file di input e il file remoto.

    
risposta data nisse 10.01.2012 - 11:14
2

Puoi provare questo:

mail [email protected] -s "Attached file" <<EOF                 
Hi

~| uuencode $HOME/filename.txt filename.txt

EOF

Funziona con GNU Mailutils , controlla il sito web per ulteriori informazioni.

    
risposta data Sharad 25.04.2012 - 20:19
0

Oltre a quanto sopra ho ancora ricevuto questo errore

echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv  [email protected]
[<-] 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 se la password corrente è corretta ... forse la precauzione di sicurezza di Google

    
risposta data Scott Stensland 29.08.2016 - 23:58
0

Esegui :

sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf

È necessario aggiungere qui di seguito:

# The user that gets all the mails (UID < 1000, usually the admin)
[email protected]

# 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

Entra lì:

root:[email protected]:smtp.gmail.com:587

Abilita "app meno sicure" su Gmail:
link

Provalo eseguendo quanto segue sul terminale:

echo "Body of mail is abc" | mail -s "Subject is xyz" "[email protected]"'
    
risposta data Aquarius_Girl 27.07.2017 - 10:42

Leggi altre domande sui tag