Envieu un correu electrònic amb Perl

Envieu Un Correu Electronic Amb Perl



Existeixen molts mòduls a Perl per enviar un correu electrònic des del sistema operatiu Ubuntu. El mòdul 'Net::SMTP::SSL' és un d'ells. Qualsevol servidor SMTP vàlid amb el nom d'usuari i la contrasenya correctes és necessari per enviar un correu electrònic amb aquest mòdul Perl. El servidor SMTP del compte de Gmail i el nom d'usuari i la contrasenya vàlids s'utilitzen en aquest tutorial per enviar un correu electrònic mitjançant l'script Perl del sistema operatiu Ubuntu. Tanmateix, el compte de Gmail requereix algunes configuracions per enviar el correu electrònic mitjançant el servidor SMTP de Gmail. L'opció 'aplicació menys segura' de qualsevol compte de Gmail és necessària per habilitar l'enviament de correu electrònic mitjançant el servidor SMTP de Gmail. Però aquesta opció del compte de Gmail s'elimina a partir de l'any 2022. Ara, cal configurar la 'contrasenya d'aplicació' del compte de Gmail per enviar els correus electrònics. Heu de configurar aquesta contrasenya per al compte de Gmail que s'utilitzarà per enviar els correus electrònics abans de practicar els exemples d'aquest tutorial.

Diferents exemples d'enviament d'un correu electrònic

En aquesta part del tutorial es mostren els mètodes per enviar un correu electrònic mitjançant el servidor SMTP de Gmail i un compte de Gmail.

Exemple 1: enviament d'un correu electrònic de text senzill

Creeu un fitxer Perl amb l'script següent que envia un correu electrònic de text senzill mitjançant un servidor SMTP de Gmail. Heu d'establir l'adreça de correu electrònic vàlida i la contrasenya establerta per a la contrasenya de l'aplicació a les variables $username i $password. El nom d'usuari i la contrasenya ficticis s'assignen a l'script. El correu electrònic no s'enviarà si la contrasenya de l'aplicació no està configurada correctament. A continuació, configureu el destinatari vàlid i les adreces de correu electrònic del remitent a les variables $to i $from per comprovar si el correu electrònic s'envia correctament. L'altra part del guió es manté sense canvis. S'envia un missatge de text senzill a l'adreça de correu electrònic del receptor si el servidor SMTP està connectat i la informació de l'usuari s'autentica correctament.







#!/usr/bin/perl

#Importa els mòduls necessaris
ús estricte ;
utilitzeu Net::SMTP::SSL ;

#Declare la subrutina per enviar correu electrònic mitjançant el servidor de Gmail
sub sendEmail
{

#Nom d'usuari i contrasenya per a l'autenticació
el meu $nom d'usuari = 'username@gmail.com' ;
la meva $contrasenya = 'contrasenya de l'aplicació' ;

#Inicialitza les variables per enviar correu electrònic
el meu $to = 'receiver@gmail.com' ;
el meu $de = 'Meher Nigar ' ;
el meu $subjecte = 'És un correu electrònic de prova' ;
el meu $missatge = 'Hola, enviant correu electrònic amb Perl.' ;

#Declara la variable smtp
el meu $smtpServer ;

#Connecteu-vos amb el servidor smtp de Gmail
si ( no $smtpServer = Net::SMTP::SSL- > nou ( 'smtp.gmail.com' , Port => 465 , Depuració => 1 ) )
{
el 'No es pot connectar amb el servidor SMTP. \n ' ;
}

#Comprova que el nom d'usuari i la contrasenya siguin vàlids
$smtpServer- > auth ( $nom d'usuari , $contrasenya ) || el 'Error d'autenticació. \n ' ;

$smtpServer- > correu ( $a partir de. ' \n ' ) ;
$smtpServer- > a ( $a. ' \n ' ) ;
$smtpServer- > dades ( ) ;
$smtpServer- > enviament de dades ( 'De:' . $a partir de. ' \n ' ) ;
$smtpServer- > enviament de dades ( 'A:' . $a . ' \n ' ) ;
$smtpServer- > enviament de dades ( 'Assignatura: ' . $subjecte. ' \n ' ) ;
$smtpServer- > enviament de dades ( ' \n ' ) ;

}

#Truca a la subrutina

&Envia un correu electrònic ( ) ;

Sortida:



La següent informació similar apareix al principi de la sortida després d'executar l'script si el correu electrònic s'ha enviat correctament:







Quan obriu l'adreça de correu electrònic del receptor, rebrà el següent correu electrònic a la safata d'entrada:

Exemple 2: enviament d'un correu electrònic amb format HTML

Creeu un fitxer Perl amb l'script següent que enviï un correu electrònic amb format HTML mitjançant un servidor SMTP de Gmail. Heu d'establir una adreça de correu electrònic i una contrasenya vàlides com a l'exemple anterior. A continuació, configureu les adreces de correu electrònic del destinatari i del remitent vàlides. El codi HTML s'afegeix com a missatge de correu electrònic a l'script. El tipus de contingut del correu electrònic s'estableix en text/html per enviar el correu electrònic amb format HTML. L'altra part del guió és la mateixa que l'exemple anterior. S'envia un correu electrònic amb format HTML a l'adreça de correu electrònic del receptor si el servidor SMTP està connectat i la informació de l'usuari s'autentica correctament.

#!/usr/bin/perl

#Importa els mòduls necessaris
ús estricte ;
utilitzeu Net::SMTP::SSL ;

#Declare la subrutina per enviar correu electrònic mitjançant el servidor de Gmail
sub sendEmail
{
#Nom d'usuari i contrasenya per a l'autenticació
el meu $nom d'usuari = 'username@gmail.com' ;
la meva $contrasenya = 'contrasenya de l'aplicació' ;

#Inicialitza les variables per enviar correu electrònic
el meu $to = 'receiver@gmail.com' ;
el meu $de = 'Meher Nigar ' ;
el meu $subjecte = 'Registre completat' ;
el meu $missatge = '

Benvingut al nostre lloc

'
;

#Declara la variable smtp
el meu $smtpServer ;

#Connecteu-vos amb el servidor smtp de Gmail
si ( no $smtpServer = Net::SMTP::SSL- > nou ( 'smtp.gmail.com' , Port => 465 , Depuració => 1 ) )
{
el 'No es pot connectar amb el servidor SMTP. \n ' ;
}

#Comprova que el nom d'usuari i la contrasenya siguin vàlids
$smtpServer- > auth ( $nom d'usuari , $contrasenya ) || el 'Error d'autenticació. \n ' ;

$smtpServer- > correu ( $a partir de. ' \n ' ) ;
$smtpServer- > a ( $a. ' \n ' ) ;
$smtpServer- > dades ( ) ;
$smtpServer- > enviament de dades ( 'De:' . $a partir de. ' \n ' ) ;
$smtpServer- > enviament de dades ( 'A:' . $a . ' \n ' ) ;
$smtpServer- > enviament de dades ( 'Assignatura: ' . $subjecte. ' \n ' ) ;

#Definiu el tipus de contingut del correu electrònic a HTML per enviar correu electrònic amb format html
$smtpServer- > enviament de dades ( 'Tipus de contingut: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > enviament de dades ( $missatge. ' \n ' ) ;
$smtpServer- > final de dades ( ) ;
$smtpServer- > sortir ;

}

#Truca a la subrutina

&Envia un correu electrònic ( ) ;

Sortida:



La següent informació similar apareix al principi de la sortida després d'executar l'script si el correu electrònic s'ha enviat correctament:







Quan obriu l'adreça de correu electrònic del receptor, rebrà el següent correu electrònic a la safata d'entrada:





Conclusió

Els mètodes per enviar un correu electrònic amb Perl a través del servidor SMTP de Gmail no són tan fàcils com abans després de desactivar l''aplicació menys segura' del compte de Gmail. Però podeu enviar un correu electrònic configurant la contrasenya de l'aplicació ara.