Senden Sie eine E-Mail mit Perl

Senden Sie Eine E Mail Mit Perl



In Perl gibt es viele Module zum Senden einer E-Mail vom Ubuntu-Betriebssystem. Das Modul „Net::SMTP::SSL“ ist eines davon. Zum Senden einer E-Mail mit diesem Perl-Modul ist ein gültiger SMTP-Server mit dem richtigen Benutzernamen und Passwort erforderlich. In diesem Tutorial werden der SMTP-Server des Gmail-Kontos sowie der gültige Benutzername und das gültige Passwort verwendet, um eine E-Mail mithilfe des Perl-Skripts des Ubuntu-Betriebssystems zu senden. Das Gmail-Konto erfordert jedoch einige Konfigurationen, um die E-Mail über den Gmail-SMTP-Server zu senden. Die Option „Weniger sichere App“ jedes Gmail-Kontos ist erforderlich, um den E-Mail-Versand über den Gmail-SMTP-Server zu ermöglichen. Diese Option des Gmail-Kontos wird jedoch ab dem Jahr 2022 entfernt. Jetzt müssen Sie das „App-Passwort“ des Gmail-Kontos festlegen, um die E-Mails senden zu können. Sie müssen dieses Passwort für das Gmail-Konto festlegen, das zum Versenden der E-Mails verwendet wird, bevor Sie die Beispiele dieses Tutorials üben.

Verschiedene Beispiele für das Versenden einer E-Mail

In diesem Teil des Tutorials werden die Methoden zum Senden einer E-Mail über den Gmail-SMTP-Server und ein Gmail-Konto gezeigt.

Beispiel 1: Senden einer einfachen Text-E-Mail

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das eine einfache Text-E-Mail über einen Gmail-SMTP-Server sendet. Sie müssen die gültige E-Mail-Adresse und das Passwort, das für das App-Passwort festgelegt ist, in den Variablen $username und $password festlegen. Der Dummy-Benutzername und das Passwort werden im Skript zugewiesen. Die E-Mail wird nicht gesendet, wenn das App-Passwort nicht richtig konfiguriert ist. Als nächstes legen Sie die gültigen Empfänger- und Absender-E-Mail-Adressen in den Variablen $to und $from fest, um zu prüfen, ob die E-Mail ordnungsgemäß gesendet wird. Der andere Teil des Skripts bleibt unverändert. Eine einfache Textnachricht wird an die E-Mail-Adresse des Empfängers gesendet, wenn eine Verbindung zum SMTP-Server besteht und die Benutzerinformationen erfolgreich authentifiziert wurden.







#!/usr/bin/perl

#Notwendige Module importieren
verwenden Sie streng ;
Verwenden Sie Net::SMTP::SSL ;

#Deklarieren Sie eine Unterroutine zum Senden von E-Mails über den Gmail-Server
sub sendEmail
{

#Benutzername und Passwort zur Authentifizierung
mein $Benutzername = „Benutzername@gmail.com“ ;
mein $passwort = 'App-Passwort' ;

#Initialisieren Sie die Variablen zum Senden von E-Mails
mein $to = „receiver@gmail.com“ ;
mein $von = „Meher Nigar ;
mein $subjekt = „Es handelt sich um eine Test-E-Mail“ ;
meine $message = „Hallo, ich sende E-Mails mit Perl.“ ;

#Deklarieren Sie die SMTP-Variable
mein $smtpServer ;

#Verbinden Sie sich mit dem Gmail-SMTP-Server
Wenn ( nicht $smtpServer = Net::SMTP::SSL- > neu ( 'smtp.gmail.com' , Hafen => 465 , Debuggen => 1 ) )
{
Die „Es konnte keine Verbindung zum SMTP-Server hergestellt werden. \N ' ;
}

#Überprüfen Sie, ob Benutzername und Passwort gültig sind
$smtpServer- > Autor ( $Benutzername , $passwort ) || Die 'Authentifizierungsfehler. \N ' ;

$smtpServer- > Post ( $von. ' \N ' ) ;
$smtpServer- > Zu ( $zu. ' \N ' ) ;
$smtpServer- > Daten ( ) ;
$smtpServer- > Daten senden ( 'Aus: ' . $von . ' \N ' ) ;
$smtpServer- > Daten senden ( 'Zu: ' . $to . ' \N ' ) ;
$smtpServer- > Daten senden ( 'Thema: ' . $subjekt . ' \N ' ) ;
$smtpServer- > Daten senden ( ' \N ' ) ;

}

#Rufen Sie das Unterprogramm auf

&E-Mail senden ( ) ;

Ausgabe:



Die folgenden ähnlichen Informationen erscheinen am Anfang der Ausgabe nach der Ausführung des Skripts, wenn die E-Mail erfolgreich gesendet wurde:







Wenn Sie die E-Mail-Adresse des Empfängers öffnen, erhalten Sie die folgende E-Mail im Posteingang:

Beispiel 2: Senden einer HTML-formatierten E-Mail

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das eine HTML-formatierte E-Mail über einen Gmail-SMTP-Server sendet. Sie müssen wie im vorherigen Beispiel eine gültige E-Mail-Adresse und ein gültiges Passwort festlegen. Als nächstes legen Sie die gültigen Empfänger- und Absender-E-Mail-Adressen fest. Der HTML-Code wird als E-Mail-Nachricht im Skript hinzugefügt. Der Inhaltstyp der E-Mail wird auf „text/html“ festgelegt, um die E-Mail im HTML-Format zu senden. Der andere Teil des Skripts ist derselbe wie im vorherigen Beispiel. Eine E-Mail im HTML-Format wird an die E-Mail-Adresse des Empfängers gesendet, wenn der SMTP-Server verbunden ist und die Benutzerinformationen erfolgreich authentifiziert wurden.

#!/usr/bin/perl

#Notwendige Module importieren
verwenden Sie streng ;
Verwenden Sie Net::SMTP::SSL ;

#Deklarieren Sie eine Unterroutine zum Senden von E-Mails über den Gmail-Server
sub sendEmail
{
#Benutzername und Passwort zur Authentifizierung
mein $Benutzername = „Benutzername@gmail.com“ ;
mein $passwort = 'App-Passwort' ;

#Initialisieren Sie die Variablen zum Senden von E-Mails
mein $to = „receiver@gmail.com“ ;
mein $von = „Meher Nigar ;
mein $subjekt = 'Registrierung vervollständigt' ;
meine $message = '

Willkommen auf unserer Website

'
;

#Deklarieren Sie die SMTP-Variable
mein $smtpServer ;

#Verbinden Sie sich mit dem Gmail-SMTP-Server
Wenn ( nicht $smtpServer = Net::SMTP::SSL- > neu ( 'smtp.gmail.com' , Hafen => 465 , Debuggen => 1 ) )
{
Die „Es konnte keine Verbindung zum SMTP-Server hergestellt werden. \N ' ;
}

#Überprüfen Sie, ob Benutzername und Passwort gültig sind
$smtpServer- > Autor ( $Benutzername , $passwort ) || Die 'Authentifizierungsfehler. \N ' ;

$smtpServer- > Post ( $von. ' \N ' ) ;
$smtpServer- > Zu ( $to. ' \N ' ) ;
$smtpServer- > Daten ( ) ;
$smtpServer- > Daten senden ( 'Aus: ' . $von . ' \N ' ) ;
$smtpServer- > Daten senden ( 'Zu: ' . $to . ' \N ' ) ;
$smtpServer- > Daten senden ( 'Thema: ' . $subjekt . ' \N ' ) ;

#Stellen Sie den E-Mail-Inhaltstyp auf HTML ein, um E-Mails im HTML-Format zu senden
$smtpServer- > Daten senden ( „Inhaltstyp: text/html; charset=utf-8 \N \N ' ) ;
$smtpServer- > Daten senden ( $Nachricht. ' \N ' ) ;
$smtpServer- > Datenende ( ) ;
$smtpServer- > aufhören ;

}

#Rufen Sie das Unterprogramm auf

&E-Mail senden ( ) ;

Ausgabe:



Die folgenden ähnlichen Informationen erscheinen am Anfang der Ausgabe nach der Ausführung des Skripts, wenn die E-Mail erfolgreich gesendet wurde:







Wenn Sie die E-Mail-Adresse des Empfängers öffnen, erhalten Sie die folgende E-Mail im Posteingang:





Abschluss

Die Methoden zum Senden einer E-Mail mit Perl über den Gmail-SMTP-Server sind nicht mehr so ​​einfach wie zuvor, nachdem die „weniger sichere App“ des Gmail-Kontos deaktiviert wurde. Sie können jedoch eine E-Mail senden, indem Sie jetzt das App-Passwort festlegen.