Siųsti el. laišką naudodami Perl

Siusti El Laiska Naudodami Perl



Perl yra daug modulių, skirtų siųsti el. laiškus iš Ubuntu operacinės sistemos. „Net::SMTP::SSL“ modulis yra vienas iš jų. Norint siųsti el. laišką naudojant šį Perl modulį, reikalingas bet koks galiojantis SMTP serveris su teisingu vartotojo vardu ir slaptažodžiu. „Gmail“ paskyros SMTP serveris ir galiojantis vartotojo vardas bei slaptažodis naudojami šioje pamokoje, norint siųsti el. laišką naudojant „Ubuntu“ operacinės sistemos „Perl“ scenarijų. Tačiau norint siųsti el. laišką naudojant „Gmail“ SMTP serverį, „Gmail“ paskyrai reikia tam tikrų konfigūracijų. Bet kurios „Gmail“ paskyros parinktis „mažiau saugi programa“ reikalinga norint siųsti el. laiškus naudojant „Gmail“ SMTP serverį. Tačiau ši „Gmail“ paskyros parinktis pašalinta nuo 2022 m. Dabar, norėdami siųsti el. laiškus, turite nustatyti „Gmail“ paskyros „Programos slaptažodį“. Prieš atlikdami šios pamokos pavyzdžius, turite nustatyti šį slaptažodį Gmail paskyrai, kuri bus naudojama el. laiškams siųsti.

Įvairūs el. laiškų siuntimo pavyzdžiai

El. laiško siuntimo naudojant „Gmail“ SMTP serverį ir „Gmail“ paskyrą būdai parodyti šioje pamokos dalyje.

1 pavyzdys: paprasto tekstinio el. laiško siuntimas

Sukurkite Perl failą naudodami šį scenarijų, kuris siunčia paprastą tekstinį el. laišką naudojant „Gmail“ SMTP serverį. $username ir $password kintamuosiuose turite nustatyti galiojantį el. pašto adresą ir slaptažodį, kuris nustatytas programos slaptažodžiui. Scenarijuje priskiriamas netikras vartotojo vardas ir slaptažodis. El. laiškas nebus išsiųstas, jei programos slaptažodis nebus tinkamai sukonfigūruotas. Tada nustatykite galiojantį gavėjo ir siuntėjo el. pašto adresus į $to ir $from kintamuosius, kad patikrintumėte, ar el. laiškas išsiųstas tinkamai. Kita scenarijaus dalis lieka nepakitusi. Paprastas tekstinis pranešimas siunčiamas gavėjo el. pašto adresu, jei SMTP serveris yra prijungtas ir vartotojo informacija sėkmingai patvirtinta.







#!/usr/bin/perl

#Importuokite reikiamus modulius
naudoti griežtai ;
naudoti Net::SMTP::SSL ;

#Declare paprogramė, skirta siųsti el. laiškus naudojant „Gmail“ serverį
sub sendEmail
{

# Vartotojo vardas ir slaptažodis autentifikavimui
mano $vartotojo vardas = 'naudotojovardas@gmail.com' ;
mano $slaptažodis = 'programos slaptažodis' ;

#Inicijuokite el. laiškų siuntimo kintamuosius
mano $to = 'gavėjas@gmail.com' ;
mano $ nuo = „Meher Nigar ;
mano $tema = „Tai bandomasis el. ;
mano $pranešimas = „Sveiki, el. laiškas siunčiamas naudojant Perl“. ;

#Pareikškite smtp kintamąjį
mano $smtpServer ;

#Prisijunkite prie „Gmail“ smtp serverio
jeigu ( ne $smtpServer = Tinklas::SMTP::SSL- > naujas ( „smtp.gmail.com“ , Uostas => 465 , Derinimas => 1 ) )
{
į „Nepavyko prisijungti prie SMTP serverio. \n ;
}

#Patikrinkite, ar galioja vartotojo vardas ir slaptažodis
$smtpServer- > aut ( $vartotojo vardas , $slaptažodis ) || į 'Autentifikavimo klaida. \n ;

$smtpServer- > Paštas ( $ nuo. \n ) ;
$smtpServer- > į ( $to. \n ) ;
$smtpServer- > duomenis ( ) ;
$smtpServer- > duomenų siuntimas ( 'Nuo:' . $ nuo . \n ) ;
$smtpServer- > duomenų siuntimas ( 'Kam:' . $į . \n ) ;
$smtpServer- > duomenų siuntimas ( 'Tema:' . $subject . \n ) ;
$smtpServer- > duomenų siuntimas ( \n ) ;

}

#Skambinkite paprogramei

&Siųsti laišką ( ) ;

Išvestis:



Ši panaši informacija rodoma išvesties pradžioje po scenarijaus vykdymo, jei el. laiškas buvo išsiųstas sėkmingai:







Kai atidarysite gavėjo el. pašto adresą, į gautuosius gausite šį el. laišką:

2 pavyzdys: HTML formato el. laiško siuntimas

Sukurkite Perl failą naudodami šį scenarijų, kuris siunčia HTML formato el. laišką naudodamas Gmail SMTP serverį. Turite nustatyti galiojantį el. pašto adresą ir slaptažodį, kaip ir ankstesniame pavyzdyje. Tada nustatykite galiojančius gavėjo ir siuntėjo el. pašto adresus. HTML kodas pridedamas kaip el. laiškas scenarijuje. El. laiško turinio tipas nustatytas kaip tekstas / html, kad būtų siunčiamas HTML formato el. laiškas. Kita scenarijaus dalis yra tokia pati kaip ankstesniame pavyzdyje. HTML formato el. laiškas siunčiamas gavėjo el. pašto adresu, jei SMTP serveris prijungtas ir vartotojo informacija sėkmingai patvirtinta.

#!/usr/bin/perl

#Importuokite reikiamus modulius
naudoti griežtai ;
naudoti Net::SMTP::SSL ;

#Declare paprogramė, skirta siųsti el. laiškus naudojant „Gmail“ serverį
sub sendEmail
{
# Vartotojo vardas ir slaptažodis autentifikavimui
mano $vartotojo vardas = 'naudotojovardas@gmail.com' ;
mano $slaptažodis = 'programos slaptažodis' ;

#Inicijuokite el. laiškų siuntimo kintamuosius
mano $to = 'gavėjas@gmail.com' ;
mano $ nuo = „Meher Nigar ;
mano $tema = „Registracija baigta“ ;
mano $pranešimas =

Sveiki atvykę į mūsų svetainę

;

#Pareikškite smtp kintamąjį
mano $smtpServer ;

#Prisijunkite prie „Gmail“ smtp serverio
jeigu ( ne $smtpServer = Tinklas::SMTP::SSL- > naujas ( „smtp.gmail.com“ , Uostas => 465 , Derinimas => 1 ) )
{
į „Nepavyko prisijungti prie SMTP serverio. \n ;
}

#Patikrinkite, ar galioja vartotojo vardas ir slaptažodis
$smtpServer- > aut ( $vartotojo vardas , $slaptažodis ) || į 'Autentifikavimo klaida. \n ;

$smtpServer- > Paštas ( $ nuo. \n ) ;
$smtpServer- > į ( $to. \n ) ;
$smtpServer- > duomenis ( ) ;
$smtpServer- > duomenų siuntimas ( 'Nuo:' . $ nuo . \n ) ;
$smtpServer- > duomenų siuntimas ( 'Kam:' . $į . \n ) ;
$smtpServer- > duomenų siuntimas ( 'Tema:' . $subject . \n ) ;

#Nustatykite el. pašto turinio tipą į HTML, kad galėtumėte siųsti HTML formato el. laiškus
$smtpServer- > duomenų siuntimas ( 'Turinio tipas: tekstas/html; charset=utf-8 \n \n ) ;
$smtpServer- > duomenų siuntimas ( $pranešimas. \n ) ;
$smtpServer- > duomenų pabaiga ( ) ;
$smtpServer- > mesti ;

}

#Skambinkite paprogramei

&Siųsti laišką ( ) ;

Išvestis:



Ši panaši informacija rodoma išvesties pradžioje po scenarijaus vykdymo, jei el. laiškas buvo išsiųstas sėkmingai:







Kai atidarysite gavėjo el. pašto adresą, į gautuosius gausite šį el. laišką:





Išvada

El. pašto siuntimo naudojant „Perl“ per „Gmail“ SMTP serverį metodai nėra tokie paprasti kaip anksčiau, išjungus „Gmail“ paskyros „mažiau saugią programą“. Bet galite išsiųsti el. laišką dabar nustatydami programos slaptažodį.