Pošaljite e-poštu koristeći Perl

Posaljite E Postu Koristeci Perl



Mnogi moduli postoje u Perlu za slanje e-pošte iz Ubuntu operativnog sustava. Modul “Net::SMTP::SSL” je jedan od njih. Svaki važeći SMTP poslužitelj s ispravnim korisničkim imenom i lozinkom potreban je za slanje e-pošte pomoću ovog Perl modula. SMTP poslužitelj Gmail računa i važeće korisničko ime i lozinka koriste se u ovom vodiču za slanje e-pošte pomoću Perl skripte iz operativnog sustava Ubuntu. Međutim, Gmail račun zahtijeva neke konfiguracije za slanje e-pošte putem Gmail SMTP poslužitelja. Opcija 'manje sigurna aplikacija' bilo kojeg Gmail računa potrebna je za omogućavanje slanja e-pošte putem Gmail SMTP poslužitelja. Ali ova je opcija Gmail računa uklonjena od 2022. godine. Sada morate postaviti 'App Password' Gmail računa za slanje e-pošte. Morate postaviti ovu lozinku za Gmail račun koji će se koristiti za slanje e-pošte prije vježbanja primjera iz ovog vodiča.

Različiti primjeri slanja e-pošte

Metode slanja e-pošte pomoću Gmail SMTP poslužitelja i Gmail računa prikazane su u ovom dijelu vodiča.

Primjer 1: Slanje jednostavne tekstualne e-pošte

Stvorite Perl datoteku sa sljedećom skriptom koja šalje jednostavnu tekstualnu e-poštu pomoću Gmail SMTP poslužitelja. Valjanu adresu e-pošte i lozinku koja je postavljena za lozinku aplikacije morate postaviti u varijable $username i $password. Lažno korisničko ime i lozinka dodjeljuju se u skripti. E-pošta neće biti poslana ako lozinka aplikacije nije ispravno konfigurirana. Zatim postavite važeće adrese e-pošte primatelja i pošiljatelja na varijable $to i $from da provjerite je li e-pošta ispravno poslana. Drugi dio scenarija ostaje nepromijenjen. Jednostavna tekstualna poruka šalje se na adresu e-pošte primatelja ako je SMTP poslužitelj spojen i podaci o korisniku su uspješno autentificirani.







#!/usr/bin/perl

#Uvezite potrebne module
koristite strogi ;
koristite Net::SMTP::SSL ;

#Declare podprogram za slanje e-pošte putem Gmail poslužitelja
sub sendEmail
{

#Korisničko ime i lozinka za autentifikaciju
moje $korisničko ime = 'korisničkoime@gmail.com' ;
moja $lozinka = 'lozinka aplikacije' ;

#Inicijalizirajte varijable za slanje e-pošte
moj $to = 'primatelj@gmail.com' ;
moj $od = 'Meher Nigar ' ;
moj $predmet = 'To je probna e-pošta' ;
moja $poruka = 'Pozdrav, šaljem e-poštu koristeći Perl.' ;

#Deklarirajte smtp varijablu
moj $smtpServer ;

#Povežite se s Gmail SMTP poslužiteljem
ako ( ne $smtpposlužitelj = Net::SMTP::SSL- > novi ( 'smtp.gmail.com' , Luka => 465 , Debug => 1 ) )
{
the 'Ne mogu se povezati sa SMTP poslužiteljem. \n ' ;
}

#Provjerite jesu li korisničko ime i lozinka valjani
$smtpServer- > auth ( $korisničko ime , $lozinka ) || the 'Pogreška provjere autentičnosti. \n ' ;

$smtpServer- > pošta ( $od. ' \n ' ) ;
$smtpServer- > do ( $to. ' \n ' ) ;
$smtpServer- > podaci ( ) ;
$smtpServer- > slanje podataka ( 'Od: ' . $od . ' \n ' ) ;
$smtpServer- > slanje podataka ( 'Za: ' . $za . ' \n ' ) ;
$smtpServer- > slanje podataka ( 'Predmet: ' . $predmet. ' \n ' ) ;
$smtpServer- > slanje podataka ( ' \n ' ) ;

}

#Pozovi potprogram

&Pošalji e-mail ( ) ;

Izlaz:



Sljedeće slične informacije pojavljuju se na početku ispisa nakon izvođenja skripte ako je e-pošta uspješno poslana:







Kada otvorite e-mail adresu primatelja, u inbox ćete dobiti sljedeći e-mail:

Primjer 2: Slanje e-pošte u HTML formatu

Stvorite Perl datoteku sa sljedećom skriptom koja šalje e-poštu u HTML formatu pomoću Gmail SMTP poslužitelja. Morate postaviti valjanu adresu e-pošte i lozinku kao u prethodnom primjeru. Zatim postavite važeće adrese e-pošte primatelja i pošiljatelja. HTML kod se dodaje kao poruka e-pošte u skriptu. Vrsta sadržaja e-pošte postavljena je na text/html za slanje e-pošte u HTML formatu. Drugi dio skripte je isti kao prethodni primjer. E-pošta u HTML formatu šalje se na adresu e-pošte primatelja ako je SMTP poslužitelj spojen i podaci o korisniku su uspješno autentificirani.

#!/usr/bin/perl

#Uvezite potrebne module
koristite strogi ;
koristite Net::SMTP::SSL ;

#Declare podprogram za slanje e-pošte putem Gmail poslužitelja
sub sendEmail
{
#Korisničko ime i lozinka za autentifikaciju
moje $korisničko ime = 'korisničkoime@gmail.com' ;
moja $lozinka = 'lozinka aplikacije' ;

#Inicijalizirajte varijable za slanje e-pošte
moj $to = 'primatelj@gmail.com' ;
moj $od = 'Meher Nigar ' ;
moj $predmet = 'Registracija dovršena' ;
moja $poruka = '

Dobro došli na našu stranicu

'
;

#Deklarirajte smtp varijablu
moj $smtpServer ;

#Povežite se s Gmail SMTP poslužiteljem
ako ( ne $smtpposlužitelj = Net::SMTP::SSL- > novi ( 'smtp.gmail.com' , Luka => 465 , Debug => 1 ) )
{
the 'Ne mogu se povezati sa SMTP poslužiteljem. \n ' ;
}

#Provjerite jesu li korisničko ime i lozinka valjani
$smtpServer- > auth ( $korisničko ime , $lozinka ) || the 'Pogreška provjere autentičnosti. \n ' ;

$smtpServer- > pošta ( $od. ' \n ' ) ;
$smtpServer- > do ( $to. ' \n ' ) ;
$smtpServer- > podaci ( ) ;
$smtpServer- > slanje podataka ( 'Od: ' . $od . ' \n ' ) ;
$smtpServer- > slanje podataka ( 'Za: ' . $za . ' \n ' ) ;
$smtpServer- > slanje podataka ( 'Predmet: ' . $predmet. ' \n ' ) ;

#Postavite vrstu sadržaja e-pošte na HTML za slanje e-pošte u HTML obliku
$smtpServer- > slanje podataka ( 'Content-Type: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > slanje podataka ( $poruka. ' \n ' ) ;
$smtpServer- > kraj podataka ( ) ;
$smtpServer- > prestati ;

}

#Pozovi potprogram

&Pošalji e-mail ( ) ;

Izlaz:



Sljedeće slične informacije pojavljuju se na početku ispisa nakon izvršavanja skripte ako je e-pošta uspješno poslana:







Kada otvorite e-mail adresu primatelja, u inbox ćete dobiti sljedeći e-mail:





Zaključak

Metode slanja e-pošte pomoću Perla putem Gmail SMTP poslužitelja nisu tako jednostavne kao prije nakon onemogućavanja 'manje sigurne aplikacije' Gmail računa. Ali možete poslati e-poštu postavljanjem zaporke aplikacije sada.