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.