web-dev-qa-db-fra.com

Comment envoyer un mail depuis la ligne de commande?

Comment envoyer un mail depuis la ligne de commande?

209
Olivier Lalonde

Essayez d’installer The Mutt E-mail Client . Une autre option utilise emacs avec gnus . D'autres options disponibles aussi ... IMHO, vous devriez utiliser plus de détails dans vos questions, ou plusieurs réponses différentes à votre question que vous recevrez :-)

34
crncosta
  1. Installer ssmtpInstall ssmtp :

    Sudo apt-get install ssmtp
    
  2. Editez le fichier de configuration ssmtp:

    gksu gedit /etc/ssmtp/ssmtp.conf
    
  3. Ajouter le texte suivant:

    [email protected]
    mailhub=smtp.gmail.com:465
    rewriteDomain=gmail.com
    AuthUser=username
    AuthPass=password
    FromLineOverride=YES
    UseTLS=YES
    
  4. Exécutez ssmtp et fournissez l'adresse électronique du destinataire:

    ssmtp [email protected]
    
  5. Fournissez les détails du message comme suit:

    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. Presse Ctrl + D envoyer.


Vous pouvez également mettre le texte dans un fichier et l’envoyer comme suit:

ssmtp [email protected] < filename.txt
153
Sid

La plupart du temps, vous ne devriez pas avoir besoin de configurer un serveur SMTP, vous pouvez simplement utiliser mail à partir de la ligne de commande (s'il n'est pas déjà présent, installez-le avec Sudo apt-get install mailutils). (Ou si vous êtes sur un serveur où sendmail est configuré, etc.)

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

Hope all is well.
.
Cc: 

Vous terminez les messages avec un seul . en ligne. C'est à ce moment que mail vous demandera Cc: d'entrer les informations (ou laissez le champ vide) et mail imprimera ensuite des informations supplémentaires sur ce qu'il tente de faire, ainsi que le traitement de la connexion, de la transmission et de la réception des données à partir du serveur de messagerie. .

87
Marco Ceppi
apt-get install libio-socket-ssl-Perl libnet-ssleay-Perl sendemail

usage:

sendemail -f [email protected] -t [email protected] -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu [email protected] -xp gmailpassword 

Si vous ne souhaitez pas spécifier votre mot de passe dans la ligne de commande (ce n'est généralement pas une bonne chose à faire), vous pouvez omettre ce paramètre et sendemail vous demandera le mot de passe ... et l'affichera à l'écran, mais au moins ce ne sera pas dans votre historique de ligne de commande.

47
jet

mpack est un excellent moyen en ligne de commande d'envoyer des pièces jointes.

apt-get install mpack

usage:

mpack -s "file you wanted" ./data.pdf [email protected]
23
BozoJoe

Vous avez besoin d'un MTA pour envoyer un courrier. Pour cela, utilisez postfix:

Sudo apt-get install postfix

Pour envoyer un email:

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

HELP

19
One Zero

Installez le package sendmail puis tapez

sendmail -t receiver@example 

puis écrivez votre email puis appuyez sur Ctrl + D

15
MhdSyrwan
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com

ou

cat "afile" | mail -s "subject" someone@dest_email.com
10
user142345

Vous pouvez envoyer un courrier électronique à partir de la ligne de commande avec TelNet ou NetCat .

Tout est expliqué ici .

hanoo@hp_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
9
hanoo

Si vous essayez d'envoyer un courrier électronique à partir d'un système qui ne gère pas son propre serveur de messagerie (système de bureau), vous devez installer quelque chose comme nullmailer ou esmtp , qui transfère votre courrier local vers un "vrai" serveur de messagerie.

En tant qu'outils de ligne de commande, vous pouvez installer mail ou mailx (packages mailutils, heirloom-mailx ou bsd-mailx). Si vous avez besoin de pièces jointes, essayez biabam.

7
ddeimeke
Sudo apt-get install sharutils mailutils
uuencode filename filename | mail [email protected]

filename est le même: il représente un fichier d'entrée et un fichier distant.

6
nisse

Je ne l'ai jamais essayée, mais une commande mail peut envoyer un courrier. Voir mail d'homme .

Pour tester le courrier électronique local:

echo message | mail username@localhost
6
dv3500ea

Vous pouvez essayer ceci:

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

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

EOF

Cela fonctionne avec GNU Mailutils , consultez le site Web pour plus d’informations.

3
Sharad

Exécuter :

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

Ce qui suit doit être ajouté ici:

# 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

Exécuter :

Sudo -H gedit /etc/ssmtp/revaliases

Entrez là:

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

Activez les "applications moins sécurisées" sur Gmail:
https://support.google.com/accounts/answer/6010255?hl=fr

Testez-le en exécutant ce qui suit sur le terminal:

echo "Body of mail is abc" | mail -s "Subject is xyz" "[email protected]"`
2
Aquarius_Girl

En plus de ce qui précède, j'avais toujours cette erreur

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)

SOLUTION: réinitialisez le mot de passe Gmail même si le mot de passe actuel est correct ... éventuellement, mesure de sécurité Google

1
Scott Stensland