Trimiteți un e-mail utilizând Perl

Trimiteti Un E Mail Utilizand Perl



Există multe module în Perl pentru a trimite un e-mail din sistemul de operare Ubuntu. Modulul „Net::SMTP::SSL” este unul dintre ele. Orice server SMTP valid cu numele de utilizator și parola corecte este necesar pentru a trimite un e-mail folosind acest modul Perl. Serverul SMTP al contului Gmail și numele de utilizator și parola valide sunt folosite în acest tutorial pentru a trimite un e-mail folosind scriptul Perl din sistemul de operare Ubuntu. Cu toate acestea, contul Gmail necesită anumite configurații pentru a trimite e-mailul folosind serverul SMTP Gmail. Opțiunea „aplicație mai puțin sigură” a oricărui cont Gmail este necesară pentru a permite trimiterea de e-mail folosind serverul SMTP Gmail. Dar această opțiune a contului Gmail este eliminată din anul 2022. Acum, trebuie să setați „Parola aplicației” a contului Gmail pentru a trimite e-mailurile. Trebuie să setați această parolă pentru contul Gmail care va fi folosit pentru trimiterea e-mailurilor înainte de a practica exemplele acestui tutorial.

Diferite exemple de trimitere a unui e-mail

Metodele de trimitere a unui e-mail folosind serverul SMTP Gmail și un cont Gmail sunt prezentate în această parte a tutorialului.

Exemplul 1: Trimiterea unui e-mail text simplu

Creați un fișier Perl cu următorul script care trimite un simplu e-mail text folosind un server SMTP Gmail. Trebuie să setați adresa de e-mail validă și parola care este setată pentru parola aplicației în variabilele $username și $password. Numele de utilizator și parola false sunt atribuite în script. E-mailul nu va fi trimis dacă parola aplicației nu este configurată corect. Apoi, setați adresele de e-mail valide ale destinatarului și ale expeditorului la variabilele $to și $from pentru a verifica dacă e-mailul este trimis corect. Cealaltă parte a scenariului rămâne neschimbată. Un mesaj text simplu este trimis la adresa de e-mail a destinatarului dacă serverul SMTP este conectat și informațiile utilizatorului sunt autentificate cu succes.







#!/usr/bin/perl

#Importa modulele necesare
folosiți strict ;
utilizați Net::SMTP::SSL ;

#Declare subrutina pentru a trimite e-mail folosind serverul Gmail
sub trimite e-mail
{

#Nume de utilizator și parolă pentru autentificare
$numele meu de utilizator = „nume utilizator@gmail.com” ;
parola mea $ = „parola aplicației” ;

#Inițializați variabilele pentru trimiterea e-mailului
meu $to = „receiver@gmail.com” ;
meu $de la = „Meher Nigar ;
$subiectul meu = „Este un e-mail de testare” ;
mesajul meu $ = „Bună ziua, trimit e-mail folosind Perl.” ;

#Declarați variabila smtp
$smtpServer-ul meu ;

#Conectați-vă cu serverul smtp Gmail
dacă ( nu $smtpServer = Net::SMTP::SSL- > nou ( „smtp.gmail.com” , Port => 465 , Depanați => 1 ) )
{
cel „Nu se poate conecta la serverul SMTP. \n ' ;
}

#Verificați că numele de utilizator și parola sunt valide
$smtpServer- > auth ( $nume de utilizator , $parolă ) || cel 'Eroare de autentificare. \n ' ;

$smtpServer- > Poștă ( $de la. ' \n ' ) ;
$smtpServer- > la ( $to. ' \n ' ) ;
$smtpServer- > date ( ) ;
$smtpServer- > trimitere de date ( 'De la:' . $de la . ' \n ' ) ;
$smtpServer- > trimitere de date ( 'La: ' . $la . ' \n ' ) ;
$smtpServer- > trimitere de date ( 'Subiect: ' . $subiect . ' \n ' ) ;
$smtpServer- > trimitere de date ( ' \n ' ) ;

}

#Apelați subrutinele

&Trimite email ( ) ;

Ieșire:



Următoarele informații similare apar la începutul ieșirii după executarea scriptului dacă e-mailul a fost trimis cu succes:







Când deschideți adresa de e-mail a destinatarului, veți primi următorul e-mail în căsuța de e-mail:

Exemplul 2: Trimiterea unui e-mail formatat HTML

Creați un fișier Perl cu următorul script care trimite un e-mail în format HTML utilizând un server SMTP Gmail. Trebuie să setați o adresă de e-mail și o parolă valide, ca în exemplul anterior. Apoi, setați adresele de e-mail valide ale destinatarului și expeditorului. Codul HTML este adăugat ca mesaj de e-mail în script. Tipul de conținut al e-mailului este setat la text/html pentru a trimite e-mailul în format HTML. Cealaltă parte a scriptului este aceeași cu exemplul anterior. Un e-mail în format HTML este trimis la adresa de e-mail a destinatarului dacă serverul SMTP este conectat și informațiile utilizatorului sunt autentificate cu succes.

#!/usr/bin/perl

#Importa modulele necesare
folosiți strict ;
utilizați Net::SMTP::SSL ;

#Declare subrutina pentru a trimite e-mail folosind serverul Gmail
sub trimite e-mail
{
#Nume de utilizator și parolă pentru autentificare
$numele meu de utilizator = „nume utilizator@gmail.com” ;
parola mea $ = „parola aplicației” ;

#Inițializați variabilele pentru trimiterea e-mailului
meu $to = „receiver@gmail.com” ;
meu $de la = „Meher Nigar ;
$subiectul meu = „Înregistrare finalizată” ;
mesajul meu $ =

Bine ați venit pe site-ul nostru

;

#Declarați variabila smtp
$smtpServer-ul meu ;

#Conectați-vă cu serverul smtp Gmail
dacă ( nu $smtpServer = Net::SMTP::SSL- > nou ( „smtp.gmail.com” , Port => 465 , Depanați => 1 ) )
{
cel „Nu se poate conecta la serverul SMTP. \n ' ;
}

#Verificați că numele de utilizator și parola sunt valide
$smtpServer- > auth ( $nume de utilizator , $parolă ) || cel 'Eroare de autentificare. \n ' ;

$smtpServer- > Poștă ( $de la. ' \n ' ) ;
$smtpServer- > la ( $to. ' \n ' ) ;
$smtpServer- > date ( ) ;
$smtpServer- > trimitere de date ( 'De la:' . $de la . ' \n ' ) ;
$smtpServer- > trimitere de date ( 'La: ' . $la . ' \n ' ) ;
$smtpServer- > trimitere de date ( 'Subiect: ' . $subiect . ' \n ' ) ;

#Setați tipul de conținut al e-mailului la HTML pentru a trimite e-mailuri formatate html
$smtpServer- > trimitere de date ( „Tip de conținut: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > trimitere de date ( $mesaj. ' \n ' ) ;
$smtpServer- > sfârşitul datelor ( ) ;
$smtpServer- > părăsi ;

}

#Apelați subrutinele

&Trimite email ( ) ;

Ieșire:



Următoarele informații similare apar la începutul ieșirii după executarea scriptului dacă e-mailul a fost trimis cu succes:







Când deschideți adresa de e-mail a destinatarului, veți primi următorul e-mail în căsuța de e-mail:





Concluzie

Metodele de trimitere a unui e-mail folosind Perl prin serverul SMTP Gmail nu sunt la fel de ușoare ca înainte după dezactivarea „aplicației mai puțin sigure” a contului Gmail. Dar puteți trimite un e-mail setând acum parola aplicației.