Lähetä sähköposti Perlillä

Laheta Sahkoposti Perlilla



Perlissä on monia moduuleja sähköpostin lähettämiseen Ubuntu-käyttöjärjestelmästä. Net::SMTP::SSL-moduuli on yksi niistä. Mikä tahansa kelvollinen SMTP-palvelin, jolla on oikea käyttäjätunnus ja salasana, vaaditaan sähköpostin lähettämiseen tällä Perl-moduulilla. Gmail-tilin SMTP-palvelinta ja voimassa olevaa käyttäjätunnusta ja salasanaa käytetään tässä opetusohjelmassa sähköpostin lähettämiseen Ubuntu-käyttöjärjestelmän Perl-komentosarjalla. Gmail-tili vaatii kuitenkin joitain määrityksiä sähköpostin lähettämiseksi Gmailin SMTP-palvelimen avulla. Minkä tahansa Gmail-tilin 'vähemmän turvallinen sovellus' -vaihtoehto vaaditaan, jotta sähköpostin lähettäminen Gmailin SMTP-palvelimen avulla voidaan ottaa käyttöön. Mutta tämä Gmail-tilin vaihtoehto on poistettu vuodesta 2022. Nyt sinun on asetettava Gmail-tilin 'App Password' sähköpostien lähettämistä varten. Sinun on asetettava tämä salasana Gmail-tilille, jota käytetään sähköpostien lähettämiseen, ennen kuin harjoittelet tämän opetusohjelman esimerkkejä.

Erilaisia ​​esimerkkejä sähköpostin lähettämisestä

Tässä opetusohjelman osassa esitetään menetelmät sähköpostin lähettämiseen Gmailin SMTP-palvelimen ja Gmail-tilin avulla.

Esimerkki 1: Yksinkertaisen tekstisähköpostin lähettäminen

Luo Perl-tiedosto seuraavalla komentosarjalla, joka lähettää yksinkertaisen tekstisähköpostin Gmailin SMTP-palvelimen avulla. Sinun on asetettava kelvollinen sähköpostiosoite ja sovelluksen salasanalle asetettu salasana muuttujiin $username ja $password. Tekevä käyttäjätunnus ja salasana on määritetty skriptissä. Sähköpostia ei lähetetä, jos sovelluksen salasanaa ei ole määritetty oikein. Aseta seuraavaksi kelvollinen vastaanottajan ja lähettäjän sähköpostiosoite muuttujiin $to ja $from tarkistaaksesi, onko sähköposti lähetetty oikein. Käsikirjoituksen toinen osa pysyy ennallaan. Yksinkertainen tekstiviesti lähetetään vastaanottajan sähköpostiosoitteeseen, jos SMTP-palvelin on yhdistetty ja käyttäjän tiedot on todennettu onnistuneesti.







#!/usr/bin/perl

#Tuo tarvittavat moduulit
käytä tiukkaa ;
käytä Net::SMTP::SSL:ää ;

#Declare-aliohjelma lähettää sähköpostia Gmail-palvelimen kautta
sub sendEmail
{

#Käyttäjätunnus ja salasana todennusta varten
$käyttäjänimeni = 'käyttäjänimi@gmail.com' ;
$salasanani = 'sovelluksen salasana' ;

#Alusta muuttujat sähköpostin lähettämistä varten
minun $to = 'vastaanotin@gmail.com' ;
minun $ from = 'Meher Nigar ' ;
$aiheeni = 'Se on testisähköposti' ;
$viestini = 'Hei, lähetän sähköpostia Perlillä.' ;

#Ilmoita smtp-muuttuja
$smtp-palvelimeni ;

#Yhdistä Gmailin smtp-palvelimeen
jos ( ei $smtpServer = Net::SMTP::SSL- > Uusi ( 'smtp.gmail.com' , Portti => 465 , Debug => 1 ) )
{
the 'SMTP-palvelimeen ei saada yhteyttä. \n ' ;
}

#Tarkista, että käyttäjätunnus ja salasana ovat oikein
$smtpServer- > tod ( $käyttäjänimi , $salasana ) || the 'Todennusvirhe. \n ' ;

$smtpServer- > postia ( $alkaen. ' \n ' ) ;
$smtpServer- > to ( $to. ' \n ' ) ;
$smtpServer- > tiedot ( ) ;
$smtpServer- > datalähetys ( 'Lähettäjä:' . $ alkaen . ' \n ' ) ;
$smtpServer- > datalähetys ( 'Vastaanottaja:' . $to . ' \n ' ) ;
$smtpServer- > datalähetys ( 'Aihe:' . $aihe . ' \n ' ) ;
$smtpServer- > datalähetys ( ' \n ' ) ;

}

#Soita aliohjelmalle

&lähettää sähköpostia ( ) ;

Lähtö:



Seuraavat samanlaiset tiedot näkyvät tulosteen alussa komentosarjan suorittamisen jälkeen, jos sähköpostin lähetys onnistui:







Kun avaat vastaanottajan sähköpostiosoitteen, saat seuraavan sähköpostin postilaatikkoon:

Esimerkki 2: HTML-muotoisen sähköpostin lähettäminen

Luo Perl-tiedosto seuraavalla komentosarjalla, joka lähettää HTML-muotoisen sähköpostin Gmailin SMTP-palvelimen avulla. Sinun on asetettava kelvollinen sähköpostiosoite ja salasana kuten edellisessä esimerkissä. Aseta seuraavaksi kelvollinen vastaanottajan ja lähettäjän sähköpostiosoite. HTML-koodi lisätään sähköpostiviestinä skriptiin. Sähköpostin sisältötyypiksi asetetaan teksti/html HTML-muotoisen sähköpostin lähettämistä varten. Käsikirjoituksen toinen osa on sama kuin edellinen esimerkki. HTML-muotoinen sähköposti lähetetään vastaanottajan sähköpostiosoitteeseen, jos SMTP-palvelin on yhdistetty ja käyttäjän tiedot on todennettu onnistuneesti.

#!/usr/bin/perl

#Tuo tarvittavat moduulit
käytä tiukkaa ;
käytä Net::SMTP::SSL:ää ;

#Declare-aliohjelma lähettää sähköpostia Gmail-palvelimen kautta
sub sendEmail
{
#Käyttäjätunnus ja salasana todennusta varten
$käyttäjänimeni = 'käyttäjänimi@gmail.com' ;
$salasanani = 'sovelluksen salasana' ;

#Alusta muuttujat sähköpostin lähettämistä varten
minun $to = 'vastaanotin@gmail.com' ;
minun $ from = 'Meher Nigar ' ;
$aiheeni = 'Rekisteröityminen suoritettu' ;
$viestini = '

Tervetuloa sivustollemme

'
;

#Ilmoita smtp-muuttuja
$smtp-palvelimeni ;

#Yhdistä Gmailin smtp-palvelimeen
jos ( ei $smtpServer = Net::SMTP::SSL- > Uusi ( 'smtp.gmail.com' , Portti => 465 , Debug => 1 ) )
{
the 'SMTP-palvelimeen ei saada yhteyttä. \n ' ;
}

#Tarkista, että käyttäjätunnus ja salasana ovat oikein
$smtpServer- > tod ( $käyttäjänimi , $salasana ) || the 'Todennusvirhe. \n ' ;

$smtpServer- > postia ( $alkaen. ' \n ' ) ;
$smtpServer- > to ( $to. ' \n ' ) ;
$smtpServer- > tiedot ( ) ;
$smtpServer- > datalähetys ( 'Lähettäjä:' . $ alkaen . ' \n ' ) ;
$smtpServer- > datalähetys ( 'Vastaanottaja:' . $to . ' \n ' ) ;
$smtpServer- > datalähetys ( 'Aihe:' . $aihe . ' \n ' ) ;

#Aseta sähköpostin sisältötyypiksi HTML html-muotoisen sähköpostin lähettämistä varten
$smtpServer- > datalähetys ( 'Sisältötyyppi: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > datalähetys ( $viesti. ' \n ' ) ;
$smtpServer- > data loppu ( ) ;
$smtpServer- > lopettaa ;

}

#Soita aliohjelmalle

&lähettää sähköpostia ( ) ;

Lähtö:



Seuraavat samanlaiset tiedot näkyvät tulosteen alussa komentosarjan suorittamisen jälkeen, jos sähköpostin lähetys onnistui:







Kun avaat vastaanottajan sähköpostiosoitteen, saat seuraavan sähköpostin postilaatikkoon:





Johtopäätös

Sähköpostin lähettäminen Perlillä Gmailin SMTP-palvelimen kautta ei ole yhtä helppoa kuin ennen Gmail-tilin 'vähemmän turvallisen sovelluksen' poistamisen jälkeen. Voit kuitenkin lähettää sähköpostin asettamalla sovelluksen salasanan nyt.