Nosūtiet e-pastu, izmantojot Perl

Nosutiet E Pastu Izmantojot Perl



Perl ir daudz moduļu, lai nosūtītu e-pastu no Ubuntu operētājsistēmas. Modulis “Net::SMTP::SSL” ir viens no tiem. Jebkurš derīgs SMTP serveris ar pareizu lietotājvārdu un paroli ir nepieciešams, lai nosūtītu e-pastu, izmantojot šo Perl moduli. Šajā apmācībā tiek izmantots Gmail konta SMTP serveris un derīgais lietotājvārds un parole, lai nosūtītu e-pastu, izmantojot Ubuntu operētājsistēmas Perl skriptu. Tomēr Gmail kontam ir nepieciešamas dažas konfigurācijas, lai nosūtītu e-pastu, izmantojot Gmail SMTP serveri. Jebkura Gmail konta opcija “Mazāk droša lietotne” ir nepieciešama, lai iespējotu e-pasta sūtīšanu, izmantojot Gmail SMTP serveri. Taču šī Gmail konta opcija ir noņemta no 2022. gada. Tagad, lai nosūtītu e-pastus, jums ir jāiestata Gmail konta “Lietotnes parole”. Pirms šīs apmācības piemēru izmantošanas jums ir jāiestata šī parole Gmail kontam, kas tiks izmantots e-pasta ziņojumu sūtīšanai.

Dažādi e-pasta sūtīšanas piemēri

E-pasta sūtīšanas metodes, izmantojot Gmail SMTP serveri un Gmail kontu, ir parādītas šajā apmācības daļā.

1. piemērs: vienkārša teksta e-pasta sūtīšana

Izveidojiet Perl failu ar šādu skriptu, kas nosūta vienkāršu teksta e-pastu, izmantojot Gmail SMTP serveri. Mainīgajos $username un $password ir jāiestata derīga e-pasta adrese un parole, kas ir iestatīta lietotnes parolei. Skriptā tiek piešķirts fiktīvais lietotājvārds un parole. E-pasts netiks nosūtīts, ja lietotnes parole nav pareizi konfigurēta. Pēc tam iestatiet derīgās saņēmēja un sūtītāja e-pasta adreses uz mainīgajiem $to un $from, lai pārbaudītu, vai e-pasts ir nosūtīts pareizi. Otra skripta daļa paliek nemainīga. Ja ir izveidots savienojums ar SMTP serveri un lietotāja informācija ir veiksmīgi autentificēta, uz saņēmēja e-pasta adresi tiek nosūtīta vienkārša īsziņa.







#!/usr/bin/perl

#Importējiet nepieciešamos moduļus
izmantojiet stingru ;
izmantojiet Net::SMTP::SSL ;

#Declare apakšprogramma, lai nosūtītu e-pastu, izmantojot Gmail serveri
sub sendEmail
{

# Lietotājvārds un parole autentifikācijai
mans $lietotājvārds = 'lietotājvārds@gmail.com' ;
mana $parole = 'lietotnes parole' ;

#Inicializējiet mainīgos e-pasta sūtīšanai
mans $to = 'receiver@gmail.com' ;
mans $ no = 'Meher Nigar ' ;
mana $tēma = 'Tas ir pārbaudes e-pasts' ;
mana $ziņa = 'Labdien, e-pasta sūtīšana, izmantojot Perl.' ;

#Deklarējiet smtp mainīgo
mans $smtpServeris ;

#Izveidojiet savienojumu ar Gmail smtp serveri
ja ( $smtpServer = Tīkls::SMTP::SSL- > jauns ( 'smtp.gmail.com' , Osta => 465 , Atkļūdošana => 1 ) )
{
uz 'Nevar izveidot savienojumu ar SMTP serveri. \n ' ;
}

#Pārbaudiet, vai lietotājvārds un parole ir derīgi
$smtpServeris- > aut ( $lietotājvārds , $parole ) || uz 'Autentifikācijas kļūda. \n ' ;

$smtpServeris- > pastu ( $no. ' \n ' ) ;
$smtpServeris- > uz ( $to. ' \n ' ) ;
$smtpServeris- > datus ( ) ;
$smtpServeris- > datu sūtīšana ( 'No:' . $no . ' \n ' ) ;
$smtpServeris- > datu sūtīšana ( 'Kam:' . $uz . ' \n ' ) ;
$smtpServeris- > datu sūtīšana ( 'Tēma:' . $subject . ' \n ' ) ;
$smtpServeris- > datu sūtīšana ( ' \n ' ) ;

}

#Izsauciet apakšprogrammu

&sūtīt e-pastu ( ) ;

Izvade:



Ja e-pasts tika veiksmīgi nosūtīts, pēc skripta izpildes izvades sākumā tiek parādīta šāda līdzīga informācija:







Atverot saņēmēja e-pasta adresi, iesūtnē tiks parādīts šāds e-pasta ziņojums:

2. piemērs: HTML formāta e-pasta sūtīšana

Izveidojiet Perl failu ar šādu skriptu, kas nosūta HTML formāta e-pasta ziņojumu, izmantojot Gmail SMTP serveri. Jums ir jāiestata derīga e-pasta adrese un parole, tāpat kā iepriekšējā piemērā. Pēc tam iestatiet derīgās saņēmēja un sūtītāja e-pasta adreses. HTML kods tiek pievienots kā e-pasta ziņojums skriptā. E-pasta satura veids ir iestatīts uz tekstu/html, lai nosūtītu HTML formāta e-pasta ziņojumu. Otra skripta daļa ir tāda pati kā iepriekšējā piemērā. HTML formāta e-pasts tiek nosūtīts uz saņēmēja e-pasta adresi, ja ir izveidots savienojums ar SMTP serveri un lietotāja informācija ir veiksmīgi autentificēta.

#!/usr/bin/perl

#Importējiet nepieciešamos moduļus
izmantojiet stingru ;
izmantojiet Net::SMTP::SSL ;

#Declare apakšprogramma, lai nosūtītu e-pastu, izmantojot Gmail serveri
sub sendEmail
{
# Lietotājvārds un parole autentifikācijai
mans $lietotājvārds = 'lietotājvārds@gmail.com' ;
mana $parole = 'lietotnes parole' ;

#Inicializējiet mainīgos e-pasta sūtīšanai
mans $to = 'receiver@gmail.com' ;
mans $ no = 'Meher Nigar ' ;
mana $tēma = 'Reģistrācija pabeigta' ;
mana $ziņa = '

Laipni lūdzam mūsu vietnē

'
;

#Deklarējiet smtp mainīgo
mans $smtpServeris ;

#Izveidojiet savienojumu ar Gmail smtp serveri
ja ( $smtpServer = Tīkls::SMTP::SSL- > jauns ( 'smtp.gmail.com' , Osta => 465 , Atkļūdošana => 1 ) )
{
uz 'Nevar izveidot savienojumu ar SMTP serveri. \n ' ;
}

#Pārbaudiet, vai lietotājvārds un parole ir derīgi
$smtpServeris- > aut ( $lietotājvārds , $parole ) || uz 'Autentifikācijas kļūda. \n ' ;

$smtpServeris- > pastu ( $no. ' \n ' ) ;
$smtpServeris- > uz ( $to. ' \n ' ) ;
$smtpServeris- > datus ( ) ;
$smtpServeris- > datu sūtīšana ( 'No:' . $no . ' \n ' ) ;
$smtpServeris- > datu sūtīšana ( 'Kam:' . $uz . ' \n ' ) ;
$smtpServeris- > datu sūtīšana ( 'Tēma:' . $subject . ' \n ' ) ;

#Iestatiet e-pasta satura veidu uz HTML HTML formāta e-pasta sūtīšanai
$smtpServeris- > datu sūtīšana ( 'Satura veids: text/html; charset=utf-8 \n \n ' ) ;
$smtpServeris- > datu sūtīšana ( $ziņa. ' \n ' ) ;
$smtpServeris- > datu beigas ( ) ;
$smtpServeris- > atmest ;

}

#Izsauciet apakšprogrammu

&sūtīt e-pastu ( ) ;

Izvade:



Ja e-pasts tika veiksmīgi nosūtīts, izvades sākumā pēc skripta izpildes tiek parādīta šāda līdzīga informācija:







Atverot saņēmēja e-pasta adresi, iesūtnē tiks parādīts šāds e-pasta ziņojums:





Secinājums

E-pasta sūtīšanas metodes, izmantojot Perl, izmantojot Gmail SMTP serveri, nav tik vienkāršas kā iepriekš pēc Gmail konta “mazāk drošas lietotnes” atspējošanas. Taču varat nosūtīt e-pastu, iestatot lietotnes paroli tūlīt.