Invia un'e-mail utilizzando Perl

Invia Un E Mail Utilizzando Perl



Esistono molti moduli in Perl per inviare un'e-mail dal sistema operativo Ubuntu. Il modulo “Net::SMTP::SSL” è uno di questi. Per inviare un'e-mail utilizzando questo modulo Perl è necessario qualsiasi server SMTP valido con il nome utente e la password corretti. Il server SMTP dell'account Gmail e il nome utente e la password validi vengono utilizzati in questo tutorial per inviare un'e-mail utilizzando lo script Perl dal sistema operativo Ubuntu. Tuttavia, l'account Gmail richiede alcune configurazioni per inviare l'e-mail utilizzando il server SMTP di Gmail. Per abilitare l'invio di e-mail utilizzando il server SMTP di Gmail è necessaria l'opzione 'app meno sicura' di qualsiasi account Gmail. Ma questa opzione dell'account Gmail verrà rimossa dall'anno 2022. Ora devi impostare la 'Password app' dell'account Gmail per inviare le email. Devi impostare questa password per l'account Gmail che verrà utilizzato per inviare le e-mail prima di mettere in pratica gli esempi di questo tutorial.

Diversi esempi di invio di un'e-mail

I metodi per inviare un'email utilizzando il server SMTP Gmail e un account Gmail sono mostrati in questa parte del tutorial.

Esempio 1: invio di un'e-mail di testo semplice

Crea un file Perl con il seguente script che invia una semplice email di testo utilizzando un server SMTP Gmail. È necessario impostare l'indirizzo e-mail valido e la password impostata per la password dell'app nelle variabili $username e $password. Il nome utente e la password fittizi vengono assegnati nello script. L'e-mail non verrà inviata se la password dell'app non è configurata correttamente. Successivamente, imposta gli indirizzi e-mail del destinatario e del mittente validi sulle variabili $to e $from per verificare se l'e-mail viene inviata correttamente. L'altra parte della sceneggiatura rimane invariata. Un semplice messaggio di testo viene inviato all'indirizzo e-mail del destinatario se il server SMTP è connesso e le informazioni dell'utente vengono autenticate con successo.







#!/usr/bin/perl

#Importa i moduli necessari
usare rigoroso ;
utilizzare Net::SMTP::SSL ;

#Dichiara la subroutine per inviare email utilizzando il server Gmail
sub invia e-mail
{

#Nome utente e password per l'autenticazione
il mio $nome utente = 'nomeutente@gmail.com' ;
la mia $password = 'password dell'app' ;

#Inizializza le variabili per l'invio di email
il mio $a = 'ricevitore@gmail.com' ;
il mio $da = 'Meher Nigar ' ;
il mio $oggetto = 'È un'e-mail di prova' ;
il mio $messaggio = 'Ciao, invio e-mail utilizzando Perl.' ;

#Dichiara la variabile smtp
il mio $smtpServer ;

#Connettiti al server SMTP di Gmail
Se ( non $serverserver = Rete::SMTP::SSL- > nuovo ( 'smtp.gmail.com' , Porta => 465 , Debug => 1 ) )
{
IL 'Impossibile connettersi al server SMTP. \N ' ;
}

#Verifica che nome utente e password siano validi
$smtpServer- > aut ( $nome utente , $password ) || IL 'Errore di autenticazione. \N ' ;

$smtpServer- > posta ( $da. ' \N ' ) ;
$smtpServer- > A ( $a. ' \N ' ) ;
$smtpServer- > dati ( ) ;
$smtpServer- > datasend ( 'Da: ' . $da . ' \N ' ) ;
$smtpServer- > datasend ( 'A: ' . $a. ' \N ' ) ;
$smtpServer- > datasend ( 'Soggetto: ' . $oggetto. ' \N ' ) ;
$smtpServer- > datasend ( ' \N ' ) ;

}

#Richiama la subroutine

&invia una email ( ) ;

Produzione:



Le seguenti informazioni simili vengono visualizzate all'inizio dell'output dopo l'esecuzione dello script se l'e-mail è stata inviata correttamente:







Quando apri l'indirizzo email del destinatario, riceverai la seguente email nella posta in arrivo:

Esempio 2: invio di un'e-mail formattata HTML

Crea un file Perl con il seguente script che invia un'e-mail in formato HTML utilizzando un server SMTP Gmail. Devi impostare un indirizzo email e una password validi come nell'esempio precedente. Successivamente, imposta gli indirizzi email validi del destinatario e del mittente. Il codice HTML viene aggiunto come messaggio di posta elettronica nello script. Il tipo di contenuto dell'e-mail è impostato su text/html per inviare l'e-mail in formato HTML. L'altra parte dello script è la stessa dell'esempio precedente. Un'e-mail in formato HTML viene inviata all'indirizzo e-mail del destinatario se il server SMTP è connesso e le informazioni dell'utente vengono autenticate correttamente.

#!/usr/bin/perl

#Importa i moduli necessari
usare rigoroso ;
utilizzare Net::SMTP::SSL ;

#Dichiara la subroutine per inviare email utilizzando il server Gmail
sub invia e-mail
{
#Nome utente e password per l'autenticazione
il mio $nome utente = 'nomeutente@gmail.com' ;
la mia $password = 'password dell'app' ;

#Inizializza le variabili per l'invio di email
il mio $a = 'ricevitore@gmail.com' ;
il mio $da = 'Meher Nigar ' ;
il mio $oggetto = 'Registrazione completata' ;
il mio $messaggio = '

Benvenuti nel nostro sito

'
;

#Dichiara la variabile smtp
il mio $smtpServer ;

#Connettiti al server SMTP di Gmail
Se ( non $serverserver = Rete::SMTP::SSL- > nuovo ( 'smtp.gmail.com' , Porta => 465 , Debug => 1 ) )
{
IL 'Impossibile connettersi al server SMTP. \N ' ;
}

#Verifica che nome utente e password siano validi
$smtpServer- > aut ( $nome utente , $password ) || IL 'Errore di autenticazione. \N ' ;

$smtpServer- > posta ( $da. ' \N ' ) ;
$smtpServer- > A ( $a. ' \N ' ) ;
$smtpServer- > dati ( ) ;
$smtpServer- > datasend ( 'Da: ' . $da . ' \N ' ) ;
$smtpServer- > datasend ( 'A: ' . $a. ' \N ' ) ;
$smtpServer- > datasend ( 'Soggetto: ' . $oggetto. ' \N ' ) ;

#Imposta il tipo di contenuto dell'e-mail su HTML per l'invio di e-mail in formato HTML
$smtpServer- > datasend ( 'Tipo di contenuto: text/html; charset=utf-8 \N \N ' ) ;
$smtpServer- > datasend ( $messaggio. ' \N ' ) ;
$smtpServer- > fine dei dati ( ) ;
$smtpServer- > esentato ;

}

#Richiama la subroutine

&invia una email ( ) ;

Produzione:



Le seguenti informazioni simili vengono visualizzate all'inizio dell'output dopo l'esecuzione dello script se l'e-mail è stata inviata correttamente:







Quando apri l'indirizzo email del destinatario, riceverai la seguente email nella posta in arrivo:





Conclusione

I metodi per inviare un'e-mail utilizzando Perl tramite il server SMTP di Gmail non sono così semplici come prima dopo aver disabilitato 'l'app meno sicura' dell'account Gmail. Ma puoi inviare un'e-mail impostando la password dell'app adesso.