Envoi d'e-mails en Perl
Si votre programme s'exécute sur un système Linux/Unix, vous pouvez utilisersendmailcomme outil pour envoyer des e-mails.
Voici un exemple simple de script pour envoyer des e-mails :
Exemple
#!/usr/bin/perl
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Exemple de tutoriel Perl d'envoi d'e-mail test';
$message = 'Ceci est un e-mail envoyé à l'aide de Perl.';
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
print MAIL $message;
close(MAIL);
print "E-mail envoyé avec succès\n";
En exécutant le programme ci-dessus, le résultat de sortie est :
Email sent successfully
Dans des circonstances normales, l'e-mail ci-dessus sera intercepté par la boîte aux lettres QQ. Nous pouvons l'ajouter à la liste blanche. Pour savoir comment procéder, vous pouvez cliquer :https://kf.qq.com/faq/120322fu63YV130805rYRFzu.html
Après l'avoir ajouté à la liste blanche, vous pouvez recevoir des e-mails normalement.

Envoi d'un e-mail au format HTML
Nous pouvons ajouterContent-type: text/html\npour envoyer un e-mail au format HTML, comme suit :
Exemple
#!/usr/bin/perl
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Exemple de tutoriel Perl d'envoi d'e-mail test';
$message = '<h1>Ceci est un e-mail envoyé à l'aide de Perl<h1><p>Bonjour, je viens de Example Tutorial, l'adresse est : http://www.example.com.</p>';
open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-type: text/html\n";
print MAIL $message;
close(MAIL);
print "E-mail envoyé avec succès\n";
Après une exécution réussie, affichez le contenu de l'e-mail comme suit :

Utilisation du module MIME::Lite
Si vous utilisez un système Windows et que vous n'avez pas l'outil sendmail, vous pouvez utiliser le module MIME::Lite de Perl comme client de messagerie pour envoyer des e-mails.
L'adresse de téléchargement du module MIME::Lite est :MIME-Lite-3.030.tar.gz。
Ici, nous utilisons directement cpan pour installer (nécessite les privilèges root), pas besoin de télécharger :
$ cpan -i MIME::Lite
……
/usr/bin/make install -- OK
Après une installation réussie, démontrons un exemple :
Exemple
#!/usr/bin/perl
use MIME::Lite;
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Example Tutorial - Test d'envoi d'e-mail en Perl';
$message = 'Ceci est un e-mail envoyé avec Perl, en utilisant le module MIME::Lite.';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
$msg->send;
print "E-mail envoyé avec succès\n";
Après une exécution réussie, affichez le contenu de l'e-mail comme suit :

Envoi d'un e-mail au format HTML
Nous pouvons ajouterContent-type: text/html\npour envoyer un e-mail au format HTML, comme suit :
Exemple
#!/usr/bin/perl
use MIME::Lite;
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Example Tutorial - Test d'envoi d'e-mail en Perl';
$message = '<h1>Ceci est un e-mail envoyé avec Perl<h1><p>Le module MIME::Lite est utilisé.</p><p>Depuis Example Tutorial, l'adresse est : http://www.example.com.</p>';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Data => $message
);
$msg->attr("content-type" => "text/html");
$msg->send;
print "E-mail envoyé avec succès\n";
Après une exécution réussie, affichez le contenu de l'e-mail comme suit :

Envoi d'un e-mail avec pièces jointes
Un exemple d'envoi d'e-mail avec pièces jointes est le suivant :
Exemple
#!/usr/bin/perl
use MIME::Lite;
$to = '[email protected]';
$from = '[email protected]';
$subject = 'Example Tutorial - Test d'envoi d'e-mail en Perl';
$message = 'Ceci est un e-mail envoyé à l'aide de Perl, en utilisant le module MIME::Lite, et comprend une pièce jointe.';
$msg = MIME::Lite->new(
From => $from,
To => $to,
Cc => $cc,
Subject => $subject,
Type => 'multipart/mixed'
);
$msg->attach (
Type => 'TEXT',
Data => $message
);
$msg->attach(Type => 'TEXT',
Path => './example.txt',
Filename => 'example.txt',
Disposition => 'attachment'
);
$msg->send;
print "E-mail envoyé avec succès\n";
Après une exécution réussie, affichez le contenu de l'e-mail comme suit :

Vous pouvez ajouter plusieurs pièces jointes en utilisant plusieurs $msg->attach.
Autres extensions