Envoyer un e-mail en utilisant Perl

Envoyer Un E Mail En Utilisant Perl



De nombreux modules existent en Perl pour envoyer un email depuis le système d'exploitation Ubuntu. Le module « Net::SMTP::SSL » en fait partie. Tout serveur SMTP valide avec le nom d'utilisateur et le mot de passe corrects est requis pour envoyer un e-mail à l'aide de ce module Perl. Le serveur SMTP du compte Gmail ainsi que le nom d'utilisateur et le mot de passe valides sont utilisés dans ce tutoriel pour envoyer un e-mail à l'aide du script Perl du système d'exploitation Ubuntu. Cependant, le compte Gmail nécessite certaines configurations pour envoyer l'e-mail à l'aide du serveur SMTP Gmail. L'option « application moins sécurisée » de tout compte Gmail est requise pour permettre l'envoi d'e-mails à l'aide du serveur SMTP Gmail. Mais cette option du compte Gmail est supprimée à partir de 2022. Désormais, vous devez définir le « Mot de passe de l'application » du compte Gmail pour envoyer les e-mails. Vous devez définir ce mot de passe pour le compte Gmail qui sera utilisé pour l'envoi des emails avant de pratiquer les exemples de ce tutoriel.

Différents exemples d'envoi d'un e-mail

Les méthodes d'envoi d'un email à l'aide du serveur SMTP Gmail et d'un compte Gmail sont présentées dans cette partie du tutoriel.

Exemple 1 : Envoi d'un e-mail texte simple

Créez un fichier Perl avec le script suivant qui envoie un simple e-mail texte à l'aide d'un serveur SMTP Gmail. Vous devez définir l'adresse e-mail valide et le mot de passe défini pour le mot de passe de l'application dans les variables $username et $password. Le nom d'utilisateur et le mot de passe factices sont attribués dans le script. L'e-mail ne sera pas envoyé si le mot de passe de l'application n'est pas configuré correctement. Ensuite, définissez les adresses e-mail valides du destinataire et de l'expéditeur sur les variables $to et $from pour vérifier si l'e-mail est envoyé correctement. L'autre partie du script reste inchangée. Un simple message texte est envoyé à l'adresse e-mail du destinataire si le serveur SMTP est connecté et que les informations de l'utilisateur sont authentifiées avec succès.







#!/usr/bin/perl

#Importer les modules nécessaires
utiliser strict ;
utilisez Net :: SMTP :: SSL ;

#Déclarez le sous-programme pour envoyer des e-mails à l'aide du serveur Gmail
sous envoyerEmail
{

#Nom d'utilisateur et mot de passe pour l'authentification
mon $nom d'utilisateur = 'nom d'utilisateur@gmail.com' ;
mon $mot de passe = 'mot de passe de l'application' ;

#Initialiser les variables d'envoi d'email
mon $à = 'récepteur@gmail.com' ;
mon $ de = 'Meher Nigar ' ;
mon $sujet = 'C'est un e-mail de test' ;
mon $message = 'Bonjour, envoi d'e-mails en utilisant Perl.' ;

#Déclarez la variable smtp
mon $smtpServer ;

#Connectez-vous au serveur smtp Gmail
si ( pas $serveursmtp = Net::SMTP::SSL- > nouveau ( 'smtp.gmail.com' , Port => 465 , Déboguer => 1 ) )
{
le 'Impossible de se connecter au serveur SMTP. \n ' ;
}

#Vérifiez que le nom d'utilisateur et le mot de passe sont valides
$smtpServer- > authentification ( $nom d'utilisateur , $mot de passe ) || le 'Erreur d'authentification. \n ' ;

$smtpServer- > mail ( $à partir de. ' \n ' ) ;
$smtpServer- > à ( $à. ' \n ' ) ;
$smtpServer- > données ( ) ;
$smtpServer- > envoi de données ( 'Depuis: ' . $à partir de . ' \n ' ) ;
$smtpServer- > envoi de données ( 'À: ' . $à . ' \n ' ) ;
$smtpServer- > envoi de données ( 'Sujet: ' . $sujet . ' \n ' ) ;
$smtpServer- > envoi de données ( ' \n ' ) ;

}

#Appeler le sous-programme

&envoyerE-mail ( ) ;

Sortir:



Les informations similaires suivantes apparaissent au début de la sortie après l'exécution du script si l'e-mail a été envoyé avec succès :







Lorsque vous ouvrez l'adresse e-mail du destinataire, vous recevrez l'e-mail suivant dans la boîte de réception :

Exemple 2 : Envoi d'un e-mail au format HTML

Créez un fichier Perl avec le script suivant qui envoie un e-mail au format HTML à l'aide d'un serveur SMTP Gmail. Vous devez définir une adresse e-mail et un mot de passe valides comme dans l'exemple précédent. Ensuite, définissez les adresses e-mail valides du destinataire et de l’expéditeur. Le code HTML est ajouté en tant que message électronique dans le script. Le type de contenu de l'e-mail est défini sur text/html pour envoyer l'e-mail au format HTML. L'autre partie du script est la même que l'exemple précédent. Un e-mail au format HTML est envoyé à l'adresse e-mail du destinataire si le serveur SMTP est connecté et que les informations de l'utilisateur sont authentifiées avec succès.

#!/usr/bin/perl

#Importer les modules nécessaires
utiliser strict ;
utilisez Net :: SMTP :: SSL ;

#Déclarez le sous-programme pour envoyer des e-mails à l'aide du serveur Gmail
sous envoyerEmail
{
#Nom d'utilisateur et mot de passe pour l'authentification
mon $nom d'utilisateur = 'nom d'utilisateur@gmail.com' ;
mon $mot de passe = 'mot de passe de l'application' ;

#Initialiser les variables d'envoi d'email
mon $à = 'récepteur@gmail.com' ;
mon $ de = 'Meher Nigar ' ;
mon $sujet = 'Inscription terminée' ;
mon $message = '

Bienvenue sur notre site

'
;

#Déclarez la variable smtp
mon $smtpServer ;

#Connectez-vous au serveur smtp Gmail
si ( pas $serveursmtp = Net::SMTP::SSL- > nouveau ( 'smtp.gmail.com' , Port => 465 , Déboguer => 1 ) )
{
le 'Impossible de se connecter au serveur SMTP. \n ' ;
}

#Vérifiez que le nom d'utilisateur et le mot de passe sont valides
$smtpServer- > authentification ( $nom d'utilisateur , $mot de passe ) || le 'Erreur d'authentification. \n ' ;

$smtpServer- > mail ( $à partir de. ' \n ' ) ;
$smtpServer- > à ( $à. ' \n ' ) ;
$smtpServer- > données ( ) ;
$smtpServer- > envoi de données ( 'Depuis: ' . $à partir de . ' \n ' ) ;
$smtpServer- > envoi de données ( 'À: ' . $à . ' \n ' ) ;
$smtpServer- > envoi de données ( 'Sujet: ' . $sujet . ' \n ' ) ;

#Définissez le type de contenu de l'e-mail sur HTML pour envoyer des e-mails au format HTML
$smtpServer- > envoi de données ( 'Type de contenu : texte/html ; charset=utf-8 \n \n ' ) ;
$smtpServer- > envoi de données ( $message. ' \n ' ) ;
$smtpServer- > fin des données ( ) ;
$smtpServer- > quitter ;

}

#Appeler le sous-programme

&envoyerE-mail ( ) ;

Sortir:



Les informations similaires suivantes apparaissent au début de la sortie après l'exécution du script si l'e-mail a été envoyé avec succès :







Lorsque vous ouvrez l'adresse e-mail du destinataire, vous recevrez l'e-mail suivant dans la boîte de réception :





Conclusion

Les méthodes d'envoi d'un e-mail en utilisant Perl via le serveur SMTP de Gmail ne sont plus aussi simples qu'avant après avoir désactivé « l'application moins sécurisée » du compte Gmail. Mais vous pouvez envoyer un e-mail en définissant le mot de passe de l'application maintenant.