E-mail küldése Perl használatával

E Mail Kuldese Perl Hasznalataval



A Perlben számos modul létezik, amelyekkel e-mailt küldhet az Ubuntu operációs rendszerről. A „Net::SMTP::SSL” modul ezek közé tartozik. Bármilyen érvényes SMTP-kiszolgálóra van szükség a megfelelő felhasználónévvel és jelszóval, hogy e-mailt küldhessen ezzel a Perl-modullal. Ebben az oktatóanyagban a Gmail-fiók SMTP-kiszolgálója, valamint az érvényes felhasználónév és jelszó segítségével e-mailt küldhet az Ubuntu operációs rendszer Perl-szkriptjének használatával. A Gmail-fióknak azonban bizonyos konfigurációkra van szüksége ahhoz, hogy az e-mailt a Gmail SMTP-szerverén keresztül küldje el. Minden Gmail-fiók „kevésbé biztonságos alkalmazás” opciója szükséges ahhoz, hogy engedélyezze az e-mailek küldését a Gmail SMTP-szerverén keresztül. A Gmail fiók ezen opciója azonban 2022-től megszűnik. Most be kell állítania a Gmail fiók „Alkalmazásjelszóját” az e-mailek küldéséhez. Az oktatóprogram példáinak gyakorlása előtt be kell állítania ezt a jelszót az e-mailek küldésére használt Gmail-fiókhoz.

Különböző példák e-mail küldésére

Az oktatóanyag ezen része bemutatja az e-mail küldésének módjait a Gmail SMTP-szerver és egy Gmail-fiók használatával.

1. példa: Egyszerű szöveges e-mail küldése

Hozzon létre egy Perl-fájlt a következő szkripttel, amely egyszerű szöveges e-mailt küld a Gmail SMTP-kiszolgálójával. Be kell állítania az érvényes e-mail címet és az alkalmazásjelszóhoz beállított jelszót a $username és a $password változókban. A hamis felhasználónév és jelszó hozzá van rendelve a szkriptben. Az e-mail nem kerül elküldésre, ha az alkalmazásjelszó nincs megfelelően konfigurálva. Ezután állítsa be az érvényes címzett és a feladó e-mail címét a $to és $from változókra, hogy ellenőrizze, hogy az e-mailt megfelelően küldték-e el. A forgatókönyv másik része változatlan marad. Egy egyszerű szöveges üzenetet küld a címzett e-mail címére, ha az SMTP-kiszolgáló csatlakozik, és a felhasználó adatait sikeresen hitelesítették.







#!/usr/bin/perl

#Importálja a szükséges modulokat
szigorúat használj ;
használja a Net::SMTP::SSL-t ;

#Declare szubrutin e-mailek küldéséhez Gmail szerveren keresztül
sub sendEmail
{

#Felhasználónév és jelszó a hitelesítéshez
$felhasználónevem = 'felhasználónév@gmail.com' ;
$jelszavam = 'alkalmazás jelszava' ;

#Inicializálja a változókat az e-mail küldéshez
én $to = 'receiver@gmail.com' ;
én $-tól = 'Meher Nigar ' ;
$tárgyam = 'Ez egy teszt e-mail' ;
$üzenetem = 'Üdvözöljük, e-mailt küldök Perl használatával.' ;

#Deklarálja az smtp változót
a $smtpServerem ;

#Csatlakozzon a Gmail smtp szerverhez
ha ( nem $smtpServer = Net::SMTP::SSL- > új ( 'smtp.gmail.com' , Kikötő => 465 , Hibakeresés => 1 ) )
{
a 'Nem lehet csatlakozni az SMTP-kiszolgálóhoz. \n ' ;
}

#Ellenőrizze, hogy a felhasználónév és a jelszó érvényes-e
$smtpServer- > auth ( $felhasználónév , $jelszó ) || a 'Hitelesítési hiba. \n ' ;

$smtpServer- > levél ( $tól. ' \n ' ) ;
$smtpServer- > nak nek ( $hoz. ' \n ' ) ;
$smtpServer- > adat ( ) ;
$smtpServer- > adatküldés ( 'Tól től: ' . $tól . ' \n ' ) ;
$smtpServer- > adatküldés ( 'Nak nek: ' . $hoz . ' \n ' ) ;
$smtpServer- > adatküldés ( 'Tantárgy: ' . $tárgy . ' \n ' ) ;
$smtpServer- > adatküldés ( ' \n ' ) ;

}

#Hívja fel az alprogramot

&küldjön e-mailt ( ) ;

Kimenet:



A következő hasonló információk jelennek meg a kimenet elején a szkript végrehajtása után, ha az e-mailt sikeresen elküldték:







Amikor megnyitja a címzett e-mail címét, a következő e-mailt kapja a beérkező levelek között:

2. példa: HTML formátumú e-mail küldése

Hozzon létre egy Perl-fájlt a következő szkripttel, amely HTML-formátumú e-mailt küld a Gmail SMTP-szerverén keresztül. Érvényes e-mail címet és jelszót kell beállítani, mint az előző példában. Ezután állítsa be az érvényes címzett és feladó e-mail címét. A HTML-kód e-mail üzenetként kerül hozzáadásra a szkripthez. Az e-mail tartalomtípusa a text/html értékre van állítva a HTML-formátumú e-mail elküldéséhez. A szkript másik része megegyezik az előző példával. Egy HTML-formátumú e-mailt küld a címzett e-mail címére, ha az SMTP-szerver csatlakozik, és a felhasználó adatait sikeresen hitelesítették.

#!/usr/bin/perl

#Importálja a szükséges modulokat
szigorúat használj ;
használja a Net::SMTP::SSL-t ;

#Declare szubrutin e-mailek küldéséhez Gmail szerveren keresztül
sub sendEmail
{
#Felhasználónév és jelszó a hitelesítéshez
$felhasználónevem = 'felhasználónév@gmail.com' ;
$jelszavam = 'alkalmazás jelszava' ;

#Inicializálja a változókat az e-mail küldéshez
én $to = 'receiver@gmail.com' ;
én $-tól = 'Meher Nigar ' ;
$tárgyam = 'Regisztráció befejeződött' ;
$üzenetem = '

Üdvözöljük oldalunkon

'
;

#Deklarálja az smtp változót
a $smtpServerem ;

#Csatlakozzon a Gmail smtp szerverhez
ha ( nem $smtpServer = Net::SMTP::SSL- > új ( 'smtp.gmail.com' , Kikötő => 465 , Hibakeresés => 1 ) )
{
a 'Nem lehet csatlakozni az SMTP-kiszolgálóhoz. \n ' ;
}

#Ellenőrizze, hogy a felhasználónév és a jelszó érvényes-e
$smtpServer- > auth ( $felhasználónév , $jelszó ) || a 'Hitelesítési hiba. \n ' ;

$smtpServer- > levél ( $tól. ' \n ' ) ;
$smtpServer- > nak nek ( $hoz. ' \n ' ) ;
$smtpServer- > adat ( ) ;
$smtpServer- > adatküldés ( 'Tól től: ' . $tól . ' \n ' ) ;
$smtpServer- > adatküldés ( 'Nak nek: ' . $hoz . ' \n ' ) ;
$smtpServer- > adatküldés ( 'Tantárgy: ' . $tárgy . ' \n ' ) ;

#Állítsa be az e-mail tartalomtípusát HTML-re a html formátumú e-mailek küldéséhez
$smtpServer- > adatküldés ( 'Tartalom típusa: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > adatküldés ( $üzenet. ' \n ' ) ;
$smtpServer- > adatvég ( ) ;
$smtpServer- > Kilépés ;

}

#Hívja fel az alprogramot

&küldjön e-mailt ( ) ;

Kimenet:



A következő hasonló információk jelennek meg a kimenet elején a szkript végrehajtása után, ha az e-mailt sikeresen elküldték:







Amikor megnyitja a címzett e-mail címét, a következő e-mailt kapja a beérkező levelek között:





Következtetés

A Gmail-fiók „kevésbé biztonságos alkalmazásának” letiltása után nem olyan egyszerű az e-mail küldése Perl használatával a Gmail SMTP-kiszolgálón keresztül. De küldhet e-mailt az alkalmazásjelszó beállításával.