Script bash pour envoyer un e-mail

Script bash pour envoyer un e-mail
Le courrier électronique est un support de communication très courant dans le monde d'aujourd'hui maintenant. Tout le monde peut facilement communiquer ou partager n'importe quel document avec des amis, des membres de la famille et des collègues en envoyant l'e-mail. Généralement, les gens utilisent n'importe quel serveur de messagerie gratuit comme Gmail, Yahoo, Hotmail, etc. pour envoyer l'e-mail. Mais vous pouvez envoyer facilement des e-mails à partir de la ligne de commande dans le système d'exploitation Linux. Il existe de nombreuses façons d'envoyer des e-mails dans Linux. Certains moyens communs et faciles d'envoyer des e-mails dans le système d'exploitation Ubuntu à partir du terminal sont affichés dans ce tutoriel.

Initialisation:

De nombreuses commandes Linux sont disponibles pour envoyer un e-mail à partir de la ligne de commande ou en utilisant un script bash. Mais toute commande e-mail d'envoi ne fonctionnera pas si aucun serveur SMTP n'est configuré correctement dans le système. Vous pouvez configurer votre propre serveur SMTP pour envoyer un e-mail à partir de la ligne de commande ou vous pouvez utiliser n'importe quel serveur SMTP gratuit de tout fournisseur de services de messagerie bien connu comme Gmail ou Yahoo. Le serveur SMTP d'un compte Gmail est utilisé dans ce tutoriel. Pour faire cette tâche, vous devez sélectionner un compte Gmail et activer l'option de «permettre des applications moins sécurisées» pour ce compte pour envoyer l'e-mail. Vous pouvez visiter le tutoriel suivant pour activer cette option.

https: // linuxhint.com / comment-send-email-from-php /

Après avoir activé cette option, vous devez ouvrir le fichier '/ etc / ssmtp / ssmtp.Conf 'avec le privilège' root 'et ajoutez les lignes suivantes à la fin du fichier. Vous devez définir votre adresse e-mail sur `` AuthUser '' et votre mot de passe e-mail sur «Authpass» pour terminer la configuration.

USESTARTTLS = Oui
FromLineOverride = Oui
root = admin @ exemple.com
MailHub = SMTP.Gmail.com: 587
AuthUser = nom d'utilisateur @ gmail.com
Authpass = mot de passe

Exemple-1: Utilisation de la commande Sendmail

L'une des commandes d'e-mails populaires d'envoi de Linux est «Sendmail». L'utilisateur peut facilement envoyer un e-mail à partir de la ligne de commande en utilisant cette commande. Si le package Sendmail n'est pas installé dans le système, exécutez la commande suivante pour installer le package.

$ sudo apt install ssmtp

Supposons que le contenu par e-mail est stocké dans un fichier nommé 'e-mail.txt 'avec le contenu suivant. Ici, le texte après le «Sujet:« sera envoyé comme sujet par e-mail et la partie restante sera envoyée comme corps de messagerie.

e-mail.SMS

Sujet: Envoi d'e-mails à l'aide de Sendmail
Tester le corps des e-mails

Exécutez la commande 'Sendmail' avec l'adresse e-mail du destinataire comme la commande suivante.

$ Sendmail Username @ gmail.com < email.txt

Exemple-2: Utilisation de la commande «Mail»

La commande la plus courante pour l'envoi d'e-mails dans Linux est la commande «Mail». Cette commande n'est pas installée sur Ubuntu par défaut. Exécutez la commande suivante pour installer la commande «mail».

$ sudo apt installer des mailutils

La commande suivante affichera la version de cette commande si elle est installée dans le système.

$ Mail -v

L'option '-s' est utilisée dans la commande 'mail' pour définir le sujet de l'e-mail. Exécutez l'option «courrier» par «-s» avec le sujet de messagerie et l'adresse e-mail du destinataire comme la commande suivante. Il demandera CC: adresse. Si vous ne souhaitez pas utiliser CC: Field, alors gardez-le en blanc et appuyez sur Entrée. Tapez le corps du message et appuyez sur Ctrl + D pour envoyer l'e-mail.

$ Mail -s 'Subject' nom d'utilisateur @ gmail.com

Si vous souhaitez ajouter un corps de messagerie électronique dans la commande, utilisez '<<<' operator like the following command.

$ Mail -s 'Message Subject' nom d'utilisateur @ gmail.com <<< 'testing message body'

Vous pouvez également ajouter l'adresse e-mail de l'expéditeur avec la commande «Mail» en utilisant l'option «-a». La commande suivante enverra l'e-mail avec le sujet, «Message Sujet», le nom et l'adresse e-mail de l'expéditeur, l'adresse e-mail «Admin» et le destinataire, nom d'utilisateur @ gmail.com et corps de message, «message de test».

$ Mail -s 'Message Sujet' -A de: admin \
nom d'utilisateur @ gmail.com <<< 'testing message'

Vous pouvez également envoyer un corps de messagerie électronique en utilisant la commande echo et tuyau (|). La commande suivante utilise la commande tuyau (|) pour envoyer le corps du message.

$ echo "Testing Message" | Mail -s "Message Sujet" Nom d'utilisateur @ Exemple.com

Le courrier électronique peut être envoyé à plusieurs destinataires en utilisant la commande «Mail» et en ajoutant les adresses des destinataires en séparant des virgules. La commande suivante sera envoyée par e-mail à deux destinataires.

$ Mail -s "Tester Email" Username1 @ Exemple.com, username2 @ exemple.com < test.txt

Exemple-3: Utilisation de la commande 'Mutt'

Comme la commande «Mail», la commande «Mutt» n'est pas installée sur Ubuntu par défaut. Exécutez la commande suivante pour installer la commande 'Mutt'.

$ sudo apt install mutt

La commande 'Mutt' fonctionne similaire à la commande 'mail' mais la commande 'Mutt' a son propre éditeur pour envoyer l'e-mail. Exécutez la commande suivante avec l'adresse e-mail valide pour envoyer l'e-mail.

$ echo «Testing Message» | MUTT -S "Tester Email" Username @ Exemple.com

Vous pouvez joindre n'importe quel fichier à l'aide de l'option '-a' avec la commande 'mail' ou 'mutt'. La commande suivante joignera les éléments de fichier.txt tout en envoyant l'e-mail.

$ echo "Testing Message" | MUTT -S "Message Sujet" -A Items.txt - nom d'utilisateur @ gmail.com

Exemple-4: utilisation de la commande «ssmtp»

Une autre commande e-mail est la commande «ssmtp». Si SSMTP n'est pas installé avant, installez d'abord le package. La commande d'installation pour SSMTP est indiquée dans l'exemple-1. Les commandes SSMTP et Sendmail fonctionnent de manière similaire.

Exécutez la commande suivante avec l'adresse e-mail valide. Tapez le sujet et le corps de l'e-mail. Appuyez sur Ctrl + D pour quitter et envoyer l'e-mail.

$ ssmtp nom d'utilisateur @ gmail.com

Exemple-5: Utilisation de la commande MailX

Vous pouvez envoyer du contenu HTML en tant que corps de messagerie sans simplement envoyer le SMS. Créer un fichier HTML nommé 'Test.html 'à utiliser comme corps de message.

test.html


>

Email Envoi


Tester le corps du message
<

La commande 'MailSx' fonctionne comme la commande 'mail'. Vous devez mentionner le type de contenu sous forme de texte / html pour envoyer du contenu HTML comme corps de message dans la commande 'MailX'. La commande suivante enverra le contenu du test.Fichier HTML '.

$ MailX -a 'Type de contenu: texte / html' -s "Envoi e-mail à l'aide de MailX"
< test.html "[email protected]"

Lorsque vous cocherez la boîte de réception du compte de messagerie du destinataire, la liste des e-mails sera affichée comme l'image suivante.

Conclusion

Après avoir pratiqué correctement les commandes ci-dessus, espérons que le lecteur pourra envoyer facilement des e-mails de la ligne de commande dans Linux.