Odoslať e-mail pomocou Perlu

Odoslat E Mail Pomocou Perlu



V Perle existuje veľa modulov na odosielanie e-mailov z operačného systému Ubuntu. Modul „Net::SMTP::SSL“ je jedným z nich. Na odoslanie e-mailu pomocou tohto modulu Perl je potrebný akýkoľvek platný server SMTP so správnym používateľským menom a heslom. Server SMTP účtu Gmail a platné používateľské meno a heslo sa v tomto návode používajú na odoslanie e-mailu pomocou skriptu Perl z operačného systému Ubuntu. Účet Gmail však vyžaduje určité konfigurácie na odoslanie e-mailu pomocou servera Gmail SMTP. Ak chcete povoliť odosielanie e-mailov pomocou servera SMTP služby Gmail, pre každý účet Gmail je potrebná možnosť „menej bezpečná aplikácia“. Táto možnosť účtu Gmail je však od roku 2022 odstránená. Na odosielanie e-mailov teraz musíte nastaviť „Heslo aplikácie“ účtu Gmail. Toto heslo musíte nastaviť pre účet Gmail, ktorý sa bude používať na odosielanie e-mailov pred precvičovaním príkladov tohto návodu.

Rôzne príklady odoslania e-mailu

Metódy odosielania e-mailu pomocou servera Gmail SMTP a účtu Gmail sú uvedené v tejto časti návodu.

Príklad 1: Odoslanie jednoduchého textového e-mailu

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý odošle jednoduchý textový e-mail pomocou servera Gmail SMTP. Do premenných $username a $password musíte nastaviť platnú e-mailovú adresu a heslo, ktoré je nastavené pre heslo aplikácie. Falošné používateľské meno a heslo sú priradené v skripte. Ak heslo aplikácie nie je správne nakonfigurované, e-mail sa neodošle. Potom nastavte platnú e-mailovú adresu príjemcu a odosielateľa na premenné $to a $from, aby ste skontrolovali, či je e-mail odoslaný správne. Ďalšia časť scenára zostáva nezmenená. Ak je server SMTP pripojený a informácie používateľa sú úspešne overené, na e-mailovú adresu príjemcu sa odošle jednoduchá textová správa.







#!/usr/bin/perl

#Importujte potrebné moduly
používať prísne ;
použite Net::SMTP::SSL ;

#Declare podprogram na odosielanie e-mailov pomocou servera Gmail
sub odoslaťE-mail
{

#Užívateľské meno a heslo na overenie
moje $username = 'používateľské meno@gmail.com' ;
moje $heslo = 'heslo aplikácie' ;

#Inicializujte premenné na odosielanie e-mailov
moje $to = 'receiver@gmail.com' ;
môj $ od = „Meher Nigar ;
môj $predmet = „Je to testovací e-mail“ ;
moja $správa = 'Dobrý deň, posielam e-maily pomocou Perlu.' ;

#Deklarujte premennú smtp
môj $smtpServer ;

#Pripojte sa k serveru Gmail smtp
ak ( nie $smtpServer = Net::SMTP::SSL- > Nový ( 'smtp.gmail.com' , Port => 465 , Debug => 1 ) )
{
a 'Nedá sa pripojiť k serveru SMTP. \n ' ;
}

#Skontrolujte, či je používateľské meno a heslo platné
$smtpServer- > auth ( $username , $heslo ) || na 'Chyba overenia. \n ' ;

$smtpServer- > pošty ( $ od. ' \n ' ) ;
$smtpServer- > do ( $to. ' \n ' ) ;
$smtpServer- > údajov ( ) ;
$smtpServer- > odosielanie údajov ( 'Od:' . $ od . ' \n ' ) ;
$smtpServer- > odosielanie údajov ( 'Komu:' . $to . ' \n ' ) ;
$smtpServer- > odosielanie údajov ( 'Predmet: ' . $predmet . ' \n ' ) ;
$smtpServer- > odosielanie údajov ( ' \n ' ) ;

}

#Zavolajte podprogram

&poslať email ( ) ;

Výkon:



Nasledujúce podobné informácie sa objavia na začiatku výstupu po vykonaní skriptu, ak bol e-mail úspešne odoslaný:







Keď otvoríte e-mailovú adresu príjemcu, dostanete do doručenej pošty nasledujúci e-mail:

Príklad 2: Odoslanie e-mailu vo formáte HTML

Vytvorte súbor Perl pomocou nasledujúceho skriptu, ktorý odošle e-mail vo formáte HTML pomocou servera Gmail SMTP. Musíte nastaviť platnú e-mailovú adresu a heslo ako v predchádzajúcom príklade. Ďalej nastavte platnú e-mailovú adresu príjemcu a odosielateľa. HTML kód sa pridá ako e-mailová správa do skriptu. Typ obsahu e-mailu je nastavený na text/html na odoslanie e-mailu vo formáte HTML. Ďalšia časť skriptu je rovnaká ako v predchádzajúcom príklade. Ak je server SMTP pripojený a informácie používateľa sú úspešne overené, na e-mailovú adresu príjemcu sa odošle e-mail vo formáte HTML.

#!/usr/bin/perl

#Importujte potrebné moduly
používať prísne ;
použite Net::SMTP::SSL ;

#Declare podprogram na odosielanie e-mailov pomocou servera Gmail
sub odoslaťE-mail
{
#Užívateľské meno a heslo na overenie
moje $username = 'používateľské meno@gmail.com' ;
moje $heslo = 'heslo aplikácie' ;

#Inicializujte premenné na odosielanie e-mailov
moje $to = 'receiver@gmail.com' ;
môj $ od = „Meher Nigar ;
môj $predmet = 'Registrácia dokončená' ;
moja $správa = '

Vitajte na našej stránke

'
;

#Deklarujte premennú smtp
môj $smtpServer ;

#Pripojte sa k serveru Gmail smtp
ak ( nie $smtpServer = Net::SMTP::SSL- > Nový ( 'smtp.gmail.com' , Port => 465 , Debug => 1 ) )
{
na 'Nedá sa pripojiť k serveru SMTP. \n ' ;
}

#Skontrolujte, či je používateľské meno a heslo platné
$smtpServer- > auth ( $username , $heslo ) || a 'Chyba overenia. \n ' ;

$smtpServer- > pošty ( $ od. ' \n ' ) ;
$smtpServer- > do ( $to. ' \n ' ) ;
$smtpServer- > údajov ( ) ;
$smtpServer- > odosielanie údajov ( 'Od:' . $ od . ' \n ' ) ;
$smtpServer- > odosielanie údajov ( 'Komu:' . $to . ' \n ' ) ;
$smtpServer- > odosielanie údajov ( 'Predmet: ' . $predmet . ' \n ' ) ;

#Na odosielanie e-mailov vo formáte html nastavte typ obsahu e-mailu na HTML
$smtpServer- > odosielanie údajov ( 'Typ obsahu: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > odosielanie údajov ( $správa. ' \n ' ) ;
$smtpServer- > dátový koniec ( ) ;
$smtpServer- > skončiť ;

}

#Zavolajte podprogram

&poslať email ( ) ;

Výkon:



Nasledujúce podobné informácie sa objavia na začiatku výstupu po vykonaní skriptu, ak bol e-mail úspešne odoslaný:







Keď otvoríte e-mailovú adresu príjemcu, dostanete do doručenej pošty nasledujúci e-mail:





Záver

Spôsoby odosielania e-mailu pomocou Perlu cez server SMTP Gmail nie sú také jednoduché ako predtým po vypnutí „menej bezpečnej aplikácie“ účtu Gmail. Teraz však môžete poslať e-mail nastavením hesla aplikácie.