Wenn Ihr Programm auf einem Linux/Unix-System läuft, können Sie zum Versenden von E-Mails das Tool sendmail in Perl verwenden.
Im Folgenden finden Sie ein einfaches Skriptbeispiel zum Versenden von E-Mails:
Beispiel
#!/usr/bin/perl # E-Mail wird empfangen, hier habe ich sie als meine QQ-E-Mail festgelegt, Sie müssen sie in Ihre eigene E-Mail ändern $to = ' [email protected] ' ; #Absender-E-Mail $ from = ' [email protected] ' ; $subject = ' Coder-Tutorial Perl-E-Mail-Test ' ; $message = ' Dies ist eine mit Perl gesendete E-Mail. ' ; open ( MAIL , " |/usr/sbin/sendmail -t " ) ; drucken POST " An: $to n " ; drucken POST " Von: $ von n " ; Drucken POST " Betreff: $subject n n " ; # E-Mail-Informationen drucken POST $message ; schließen ( MAIL ) ; drucken „ E-Mail erfolgreich gesendet n “ ; Wenn Sie das obige Programm ausführen, lautet das Ausgabeergebnis:
E-Mail erfolgreich gesendet
Unter normalen Umständen wird die obige E-Mail vom QQ-Postfach abgefangen. Wir können sie zur Whitelist hinzufügen. Die Vorgangsmethode kann aufgerufen werden: https://kf.qq.com/faq/120322fu63YV130805rYRFzu.html
Nachdem Sie der Whitelist beigetreten sind, können Sie E-Mails normal empfangen.
Senden Sie eine E-Mail im HTML-Format
Wir können Content-type: text/htmln in den E-Mail-Header einfügen, um E-Mails im HTML-Format zu senden. Das Beispiel sieht wie folgt aus:
Beispiel
#!/usr/bin/perl # E-Mail wird empfangen, hier habe ich sie als meine QQ-E-Mail festgelegt, Sie müssen sie in Ihre eigene E-Mail ändern $to = ' [email protected] ' ; #Absender-E-Mail $ from = ' [email protected] ' ; $subject = ' Coder Tutorial Perl sendet E-Mail-Test ' ; $message = ' <h1>Dies ist eine mit Perl gesendete E-Mail<h1><p>Hallo, ich komme vom Coder Tutorial, die Adresse lautet: http://www .codercto.com. </p> ' ; open ( MAIL , " |/usr/sbin/
sendmail -t " ) ; drucken POST " An: $to n " ; drucken POST " Von: $ von n " ; Drucken POST " Betreff: $subject n " ; drucken POST " Inhaltstyp: Text/HTML n " # E-Mail-Informationen drucken POST $message ; schließen ( MAIL ) ; drucken „ E-Mail erfolgreich gesendet n “ ; Überprüfen Sie nach erfolgreicher Ausführung den E-Mail-Inhalt, wie unten gezeigt:
Verwendung des MIME::Lite-Moduls
Wenn Sie ein Windows-System verwenden, gibt es kein Sendmail-Tool. Derzeit können Sie das MIME:Lite-Modul von Perl als E-Mail-Client zum Senden von E-Mails verwenden.
Die Download-Adresse des MIME:Lite-Moduls lautet: MIME-Lite-3.030.tar.gz.
Hier verwenden wir cpan zur direkten Installation (Root-Berechtigungen sind erforderlich) ohne Download:
$ cpan -i MIME::Lite…… /usr/bin/make install – OK
Lassen Sie uns nach erfolgreicher Installation ein Beispiel demonstrieren:
Beispiel
#!/usr/bin/perl use MIME::Lite ; # E-Mail empfangen, hier habe ich sie als meine QQ-E-Mail festgelegt, Sie müssen sie in Ihre eigene E-Mail ändern $to = ' [email protected] ' ; # Ccs, mehrere durch Kommas trennen # $cc = '[email protected], [email protected]'; E-Mail des #Absenders $ from = ' [email protected] ' ; $subject = ' Coder-Tutorial Perl-Sende-E-Mail-Test ' ; $message = ' Dies ist eine E-Mail, die mit Perl und dem MIME::Lite-Modul gesendet wurde. ' ; $msg = MIME::Lite -> new ( Von => $from , To => $to , Cc => $cc , Betreff => $subject , Daten => $Nachricht ) ; $msg -> senden ; drucken „ E-Mail erfolgreich gesendet n “ ; Überprüfen Sie nach erfolgreicher Ausführung den E-Mail-Inhalt, wie unten gezeigt:
Senden Sie E-Mails im HTML-Format
Wir können Content-type: text/htmln in den E-Mail-Header einfügen, um E-Mails im HTML-Format zu senden. Das Beispiel sieht wie folgt aus:
Beispiel
#!/usr/bin/perl use MIME::Lite ; # E-Mail empfangen, hier habe ich sie als meine QQ-E-Mail festgelegt, Sie müssen sie in Ihre eigene E-Mail ändern $to = ' [email protected] ' ; # Ccs, mehrere durch Kommas trennen # $cc = '[email protected], [email protected]'; E-Mail des #Absenders $ from = ' [email protected] ' ; $subject = ' Coder-Tutorial Perl-E-Mail-Test senden ' ; $message = ' <h1>Dies ist eine E-Mail, die mit Perl gesendet wurde<h1><p>Unter Verwendung des MIME::Lite-Moduls. </p><p>Im Coder-Tutorial lautet die Adresse: http://www.codercto.com. </p> ' ; $msg = MIME::Lite -> new ( Von => $from , To => $to , Cc => $cc , Betreff => $subject , Daten => $Nachricht ) ; #Header-Informationen hinzufügen $msg -> attr ( " content-type " => " text/html " ) ; $msg - > send ; „ E-Mail erfolgreich gesendet n “ ; Überprüfen Sie nach erfolgreicher Ausführung den E-Mail-Inhalt wie unten gezeigt:
E-Mail mit Anhängen senden
Ein Beispiel für das Versenden einer E-Mail mit Anhängen ist wie folgt:
Beispiel
#!/usr/bin/perl use MIME::Lite ; # E-Mail empfangen, hier habe ich sie als meine QQ-E-Mail festgelegt, Sie müssen sie in Ihre eigene E-Mail ändern $to = ' [email protected] ' ; # Ccs, mehrere durch Kommas trennen # $cc = '[email protected], [email protected]'; E-Mail des #Absenders $ from = ' [email protected] ' ; $subject = ' Coder-Tutorial Perl-E-Mail-Test ' ; $message = ' Dies ist eine E-Mail, die mit Perl gesendet wurde, das MIME::Lite-Modul verwendet und Anhänge enthält. ' ; $msg = MIME::Lite -> new ( Von => $from , To => $to , Cc => $cc , Betreff => $subject , Typ => ' mehrteilig/gemischt ' # Anhang-Tag ) ; $msg -> anhängen ( Geben Sie => ein ' TEXT ' , Daten => $Nachricht ) ; #Anhangsinformationen angeben $msg -> anhängen ( Typ => ' TEXT ' , Pfad => ' ./codercto.txt ' , # im aktuellen Verzeichnis Dateiname => ' codercto.txt ' , Disposition => ' Anhang ' ) ; $msg -> senden ; drucken „ E-Mail erfolgreich gesendet n “ ; Überprüfen Sie nach erfolgreicher Ausführung den E-Mail-Inhalt, wie unten gezeigt:
Sie können mehrere Anhänge hinzufügen, indem Sie mehrere $msg->attach verwenden.