Comment envoyer des messages à partir de la ligne de commande?
Comment envoyer des messages à partir de la ligne de commande?
Essayez d’installer le client de messagerie Mutt . Une autre option consiste à utiliser emacs avec gnus . Autres options disponibles aussi ... à mon humble avis, vous devriez utiliser plus de détails dans vos questions, ou plusieurs réponses différentes à votre question, vous recevrez: -)
Installez ssmtp :
sudo apt-get install ssmtp
Modifiez le fichier de configuration ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Ajoutez le texte suivant:
[email protected]
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Exécutez ssmtp et indiquez l'adresse électronique du destinataire:
ssmtp [email protected]
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.)
Appuyez sur Ctrl + D pour envoyer.
Vous pouvez également mettre le texte dans le fichier et l'envoyer comme suit:
ssmtp [email protected] < filename.txt
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 avec sudo apt-get install mailutils
). (Ou si vous êtes sur un serveur sur lequel sendmail est configuré, etc.)
[email protected]:~$ 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. Lorsque mail
vous demandera d'entrer Cc:
dans les informations (ou de laisser le champ vide) et que mail
imprimera alors des informations supplémentaires sur ce qu'il tente de faire, et détaillera le traitement de la connexion, de la transmission et recevoir des données du serveur de messagerie.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
utilisation:
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 voulez pas spécifier votre mot de passe dans la ligne de commande (ce qui 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, il ne sera pas dans votre historique de ligne de commande.
mpack est un excellent moyen d’envoyer des pièces jointes en ligne de commande.
apt-get install mpack
utilisation:
mpack -s "file you wanted" ./data.pdf [email protected]
Vous avez besoin d’un MTA pour envoyer du courrier. Pour cela, utilisez postfix:
sudo apt-get install postfix
Pour envoyer un courrier électronique:
echo "test message" | mailx -s 'test subject' [email protected]
Installez le package sendmail
puis tapez
sendmail -t [email protected]
alors écrivez votre email puis appuyez sur Ctrl + D
Tout est expliqué ici .
[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
mail -s "subjet" -a "attchedfile_name" [email protected]_email.com
ou
cat "afile" | mail -s "subject" [email protected]_email.com
Si vous essayez d’envoyer des e-mails depuis un système qui n’exécute pas de serveur de messagerie (c.-à-d. un 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 le biabam.
Je ne l'ai jamais essayé mais il y a une commande mail
qui peut envoyer du courrier. Voir Man mail .
Pour tester le courrier électronique local:
echo message | mail [email protected]
sudo apt-get install sharutils mailutils
uuencode filename filename | mail [email protected]
où filename
est le même: il signifie fichier d'entrée et fichier distant.
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.
En plus de ce qui précède, je recevais encore 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: effectuez une réinitialisation du mot de passe gmail même lorsque le mot de passe actuel est correct ... éventuellement des précautions de sécurité Google
Exécuter :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Vous devez ajouter les éléments suivants:
# 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 "applications moins sécurisées" sur Gmail:
lien
Testez-le en exécutant le terminal suivant:
echo "Body of mail is abc" | mail -s "Subject is xyz" "[email protected]"'
Lire d'autres questions sur les étiquettes command-line email