Comment envoyer un mail depuis la ligne de commande?
Comment envoyer un mail depuis la ligne de commande?
Réponses:
Essayez d'installer le client de messagerie Mutt . Une autre option consiste à utiliser 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 :-)
Installez ssmtp :
sudo apt-get install ssmtp
Editez le fichier de configuration ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Ajouter le texte suivant:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Exécutez ssmtp et fournissez l'adresse électronique du destinataire:
ssmtp recepient_name@gmail.com
Fournissez les détails du message comme suit:
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.)
Appuyez sur Ctrl+ Dpour envoyer.
Vous pouvez également mettre le texte dans un fichier et l’envoyer comme suit:
ssmtp recipient_name@gmail.com < filename.txt
La plupart du temps, vous n'avez pas besoin de configurer un serveur SMTP que vous pouvez simplement utiliser à mail
partir de la ligne de commande (si ce n'est déjà fait, installez avec sudo apt-get install mailutils
). (Ou si vous êtes sur un serveur où sendmail est configuré, etc.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
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 mail
-là que vous serez invité à Cc:
entrer les informations (ou à le laisser vide), mail
puis à imprimer des informations supplémentaires sur ce qu’il tente de faire, ainsi qu’à détailler le traitement de la connexion, de la transmission et de la réception des données du serveur de messagerie.
sudo apt-get install mailutils
installera un serveur SMTP postfix
qui pourrait être un peu surpondéré pour certaines personnes.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
usage:
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
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.
sendmail
plupart des certitudes très pratique. Je vous remercie.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
et bien sûr si vous l' appelez , vous pouvez par programme faire quelque chose de similaire, ex: rubis system("sendemail ... -xp #{File.read 'my_password'}...")
aussi peut échouer la Pour la première fois, vous devriez recevoir un e-mail sur ce compte, vous suggérant d'activer les applications moins sécurisées, pour que cela fonctionne.
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' myemail@mydomain.com
mailutils
quand je suis entré dans le terminal
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
ou
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
sous Ubuntu / Debian ou yum install mailx
CentOS / Redhat
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: <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
et tout va bien pour SSL / TLS aussi ;-)
openssl s_client -starttls smtp ...
Si vous essayez d’envoyer du courrier électronique à partir d’un système qui n’exécute pas son propre serveur de courrier électronique (c’est-à-dire le système de bureau), vous devez installer quelque chose comme nullmailer ou esmtp , qui transfère votre courrier local vers un "vrai" courrier. serveur.
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.
Je n'ai jamais essayé, mais une mail
commande peut envoyer du courrier. Voir le courrier de l'homme .
Pour tester le courrier électronique local:
echo message | mail username@localhost
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
où filename
est le même: il s'agit d'un fichier d'entrée et d'un fichier distant.
sudo apt-get install sharutils
pouruuencode
Vous pouvez essayer ceci:
mail name@mailserver.com -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.
Run :
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)
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
Run :
sudo -H gedit /etc/ssmtp/revaliases
Entrez là:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Activer 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" "someusername@gmail.com"`
En plus de ce qui précède, j'avais toujours cette erreur
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)
SOLUTION: réinitialisez le mot de passe Gmail même si le mot de passe actuel est correct ... éventuellement, mesure de sécurité Google