Bash - Envoi d'e-mail via Amazon SES

Bash - Envoi d'e-mail via Amazon SES

Amazon SES (Simple Email Service) est un fournisseur de services SMTP populaire similaire à SendGrid, MailChimp, etc. Pour utiliser SES, vous devez vous inscrire à un compte Amazon Web Services. Qui est le principal fournisseur de services basé sur le cloud. Signaux de publication Vous devez ajouter votre carte de crédit pour la facturation. Le SES par défaut permet d'envoyer gratuitement 2000 e-mails / jour. Après la limite par défaut, vous serez facturé en tant que pay-per user.

Dans cet article de blog, vous apprendrez à envoyer des e-mails via Amazon SES ou tout autre fournisseur SMTP à partir d'un shell ou d'un script bash.

Pré-requis

  • Dans ce tutoriel, nous avons utilisé le client SendEmail de commande SMTP pour envoyer des e-mails. Vous devez donc avoir installé Sendmail sur votre système.
  • Vous devez avoir vérifié l'adresse e-mail ou le nom de domaine sous des identités vérifiées dans Amazon SES. Lorsque le domaine est vérifié, vous pouvez utiliser n'importe quelle adresse e-mail tout en envoyant des e-mails
  • Tous les nouveaux comptes de l'Amazon SES sont en mode sandbox à des fins de sécurité. Vous devez soumettre une demande pour prendre en charge la conversion du compte SES en mode de production.

Script shell pour envoyer des e-mails via smtp

J'ai écrit un petit script shell qui envoie des e-mails via les serveurs SMTP distants. Il utilise le client SendEmail SMTP. Utilisez l'un des fournisseurs SMTP populaires (comme SendGrid, Amazon SES et MailChimp) avec ce script de shell. Vous pouvez également intégrer ce code de script de shell dans vos scripts de shell existants pour envoyer correctement les e-mails.

#!/ usr / bin / env bash ## Détails de configuration SMTP SMTP_HOST = "Email-smtp.US-East-1.Amazonaws.com "smtp_port =" 587 "smtp_user =" xxxxxxxxxxxxxxxx "smtp_pass =" xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "email_from =" notification @ exemple.com "email_to =" your-email @ exemple.com "sujet =" AVERTISSEMENT: GitHub Public Repo Found "## Envoi de courriel Cat MailContent.txt | SendEmail -l / tmp / e-mail.log \ -f $ email_from \ -u $ sujet \ -t $ email_to \ -s $ smtp_host: $ smtp_port \ -xp = oui \ -xu $ smtp_user \ -xp $ Smtp_pass
1234567891011121314151617181920212223#!/ usr / bin / env bash ## Détails de configuration SMTP SMTP_HOST = "Email-smtp.US-East-1.Amazonaws.com "smtp_port =" 587 "smtp_user =" xxxxxxxxxxxxxxx "smtp_pass =" xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "email_from =" [e-mail protect.txt | SendEmail -l / tmp / e-mail.log \ -f $ email_from \ -u $ sujet \ -t $ email_to \ -s $ smtp_host: $ smtp_port \ -xp = oui \ -xu $ smtp_user \ -xp $ Smtp_pass

Dans le script ci-dessus, le Pondémie.SMS Le fichier contient le contenu du corps de messagerie.

Conclusion

Les scripts shell sont une partie importante de l'administration du système. Il nous aide à automatiser les tâches rapidement comme planifier des sauvegardes, des journaux d'archivage et la collecte de données, etc. Parfois, nous sommes également tenus d'envoyer des e-mails à partir de scripts shell. Dans ce tutoriel, vous avez appris à envoyer des e-mails via le serveur Amazon SES. Même vous pouvez également utiliser ce script avec tous les autres fournisseurs SMTP.