Pošljite e-pošto z uporabo Perla

Posljite E Posto Z Uporabo Perla



V Perlu obstaja veliko modulov za pošiljanje e-pošte iz operacijskega sistema Ubuntu. Modul »Net::SMTP::SSL« je eden izmed njih. Vsak veljaven strežnik SMTP s pravilnim uporabniškim imenom in geslom je potreben za pošiljanje e-pošte s tem modulom Perl. Strežnik SMTP računa Gmail ter veljavno uporabniško ime in geslo se v tej vadnici uporabljajo za pošiljanje e-pošte s skriptom Perl iz operacijskega sistema Ubuntu. Vendar račun Gmail zahteva nekaj konfiguracij za pošiljanje e-pošte prek strežnika SMTP Gmail. Možnost »manj varne aplikacije« katerega koli računa Gmail je potrebna za omogočanje pošiljanja e-pošte prek strežnika SMTP Gmail. Toda ta možnost računa Gmail je od leta 2022 odstranjena. Zdaj morate za pošiljanje e-pošte nastaviti »Geslo za aplikacijo« računa Gmail. To geslo morate nastaviti za račun Gmail, ki bo uporabljen za pošiljanje e-pošte, preden vadite primere iz te vadnice.

Različni primeri pošiljanja elektronske pošte

V tem delu vadnice so prikazani načini pošiljanja e-pošte s strežnikom SMTP Gmail in računom Gmail.

1. primer: pošiljanje preprostega besedilnega e-poštnega sporočila

Ustvarite datoteko Perl z naslednjim skriptom, ki pošlje preprosto besedilno e-pošto prek strežnika Gmail SMTP. V spremenljivki $username in $password morate nastaviti veljaven e-poštni naslov in geslo, ki je nastavljeno za geslo za aplikacijo. Navidezno uporabniško ime in geslo sta dodeljena v skriptu. E-poštno sporočilo ne bo poslano, če geslo za aplikacijo ni pravilno konfigurirano. Nato nastavite veljavna e-poštna naslova prejemnika in pošiljatelja na spremenljivki $to in $from, da preverite, ali je e-pošta pravilno poslana. Drugi del scenarija ostaja nespremenjen. Preprosto besedilno sporočilo je poslano na e-poštni naslov prejemnika, če je strežnik SMTP povezan in so podatki uporabnika uspešno overjeni.







#!/usr/bin/perl

#Uvoz potrebnih modulov
uporabite strogo ;
uporabite Net::SMTP::SSL ;

#Declare podprogram za pošiljanje e-pošte prek strežnika Gmail
sub sendEmail
{

#Uporabniško ime in geslo za avtentikacijo
moje uporabniško ime $ = 'uporabniškoime@gmail.com' ;
moje $geslo = 'geslo za aplikacijo' ;

#Inicializirajte spremenljivke za pošiljanje e-pošte
moj $to = 'receiver@gmail.com' ;
moj $ od = 'Meher Nigar ' ;
moj $predmet = 'To je testno e-poštno sporočilo' ;
moje $sporočilo = 'Pozdravljeni, pošiljam e-pošto z uporabo Perla.' ;

#Deklarajte spremenljivko smtp
moj $smtpServer ;

#Povežite se s strežnikom Gmail smtp
če ( ne $smtpServer = Net::SMTP::SSL- > novo ( 'smtp.gmail.com' , Pristanišče => 465 , Odpravljanje napak => 1 ) )
{
the 'Ni mogoče vzpostaviti povezave s strežnikom SMTP. \n ' ;
}

#Preverite veljavnost uporabniškega imena in gesla
$smtpServer- > avt ( $uporabniško ime , $geslo ) || the 'Napaka preverjanje pristnosti. \n ' ;

$smtpServer- > pošta ( $od. ' \n ' ) ;
$smtpServer- > do ( $do. ' \n ' ) ;
$smtpServer- > podatke ( ) ;
$smtpServer- > pošiljanje podatkov ( 'Od:' . $ od . ' \n ' ) ;
$smtpServer- > pošiljanje podatkov ( 'Za:' . $do . ' \n ' ) ;
$smtpServer- > pošiljanje podatkov ( 'Zadeva:' . $predmet. ' \n ' ) ;
$smtpServer- > pošiljanje podatkov ( ' \n ' ) ;

}

#Pokliči podprogram

&Pošlji sporočilo ( ) ;

Izhod:



Naslednje podobne informacije se prikažejo na začetku izpisa po izvedbi skripta, če je bilo e-poštno sporočilo uspešno poslano:







Ko odprete e-poštni naslov prejemnika, boste v nabiralnik prejeli naslednje e-poštno sporočilo:

Primer 2: pošiljanje e-pošte v obliki HTML

Ustvarite datoteko Perl z naslednjim skriptom, ki pošlje e-pošto v obliki HTML prek strežnika SMTP Gmail. Nastaviti morate veljaven e-poštni naslov in geslo, kot v prejšnjem primeru. Nato nastavite veljavna e-poštna naslova prejemnika in pošiljatelja. Koda HTML je dodana kot e-poštno sporočilo v skriptu. Vrsta vsebine e-pošte je nastavljena na text/html za pošiljanje e-pošte v obliki HTML. Drugi del scenarija je enak prejšnjemu primeru. E-poštno sporočilo v obliki HTML je poslano na e-poštni naslov prejemnika, če je strežnik SMTP povezan in so uporabniški podatki uspešno overjeni.

#!/usr/bin/perl

#Uvoz potrebnih modulov
uporabite strogo ;
uporabite Net::SMTP::SSL ;

#Declare podprogram za pošiljanje e-pošte prek strežnika Gmail
sub sendEmail
{
#Uporabniško ime in geslo za avtentikacijo
moje uporabniško ime $ = 'uporabniškoime@gmail.com' ;
moje $geslo = 'geslo za aplikacijo' ;

#Inicializirajte spremenljivke za pošiljanje e-pošte
moj $to = 'receiver@gmail.com' ;
moj $ od = 'Meher Nigar ' ;
moj $predmet = 'Registracija zaključena' ;
moje $sporočilo = '

Dobrodošli na našem spletnem mestu

'
;

#Deklarajte spremenljivko smtp
moj $smtpServer ;

#Povežite se s strežnikom Gmail smtp
če ( ne $smtpServer = Net::SMTP::SSL- > novo ( 'smtp.gmail.com' , Pristanišče => 465 , Odpravljanje napak => 1 ) )
{
the 'Ni mogoče vzpostaviti povezave s strežnikom SMTP. \n ' ;
}

#Preverite veljavnost uporabniškega imena in gesla
$smtpServer- > avt ( $uporabniško ime , $geslo ) || the 'Napaka preverjanje pristnosti. \n ' ;

$smtpServer- > pošta ( $od. ' \n ' ) ;
$smtpServer- > do ( $do. ' \n ' ) ;
$smtpServer- > podatke ( ) ;
$smtpServer- > pošiljanje podatkov ( 'Od:' . $ od . ' \n ' ) ;
$smtpServer- > pošiljanje podatkov ( 'Za:' . $do . ' \n ' ) ;
$smtpServer- > pošiljanje podatkov ( 'Zadeva:' . $predmet. ' \n ' ) ;

#Nastavite vrsto vsebine e-pošte na HTML za pošiljanje e-pošte v obliki html
$smtpServer- > pošiljanje podatkov ( 'Vrsta vsebine: besedilo/html; nabor znakov=utf-8 \n \n ' ) ;
$smtpServer- > pošiljanje podatkov ( $sporočilo. ' \n ' ) ;
$smtpServer- > konec podatkov ( ) ;
$smtpServer- > prenehati ;

}

#Pokliči podprogram

&Pošlji sporočilo ( ) ;

Izhod:



Naslednje podobne informacije se prikažejo na začetku izpisa po izvedbi skripta, če je bilo e-poštno sporočilo uspešno poslano:







Ko odprete e-poštni naslov prejemnika, boste v nabiralnik prejeli naslednje e-poštno sporočilo:





Zaključek

Metode pošiljanja e-pošte z uporabo Perla prek Gmailovega strežnika SMTP po onemogočanju »manj varne aplikacije« Gmailovega računa niso tako enostavne kot prej. Lahko pa pošljete e-pošto tako, da zdaj nastavite geslo za aplikacijo.