Bonsoir,
J’ai enfin résolu le problème en utilisant utf-8.
Donc, pour faire profiter ceux qui seraient intéressés, je poste ici mon script final.
A quoi sert ce script => A envoyer un mail HTML personnalisé à chaque personne (avec un logo en entête), contenant le login et le mot de passe de l’utilisateur.
Les infos sont extraites d’un fichier texte composé comme suit :
Nom prénom e-mail mot de passe
(mais on aurait très bien pu utiliser le “;” comme séparateur, il faudrait alors le préciser dans le script.
Le script :
[code]#!/usr/bin/perl -w
Create a new HTML message
use MIME::Lite package
use MIME::Lite;
use utf8;
$file = ‘liste.txt’; # Name the file
my $i = 1;
open(INFO, $file); # Open the file
while ($record = )
{
#split $record;
my @fields = split /\t/, $record;
$identifiant = $fields[1].".".$fields[0];
$identifiant = lc ($identifiant);
$msg = MIME::Lite->new(
From =>’“Mike Meilleur"mike.meilleur@free.fr’,
To =>”$fields[1] $fields[0]<".$fields[2].">",
#To =>$fields[2],
Subject =>‘Votre compte d’accès au site Internet du CE’,
Type =>‘multipart/related’
);
$msg->attach(
Type => ‘text/html’,
Data => qq{
![]()
Bonjour,
Voici votre compte d’accès au site Internet du Comité d’Entreprise :
Identifiant : $identifiant
Mot de passe : $fields[3]
Pour accéder au site : http://www.cetrucmuche.fr
Pensez à modifier votre mot de passe et remplir votre profil.
Bonne visite,
Le CE
},
);
$msg->attach(
Type => ‘image/jpg’,
Id => ‘logo_ce.jpg’,
Path => ‘logo_ce.jpg’,
);
use Net:SMTP to do the sending
$msg->add(“X-Mailer” => “MIME::Lite”);
$msg->send(‘smtp’,‘smtp.free.fr’, Debug=>0, Timeout => 30 );
print $i." - “.$fields[1].”\t".$fields[0]."\t\t".$fields[2]."\t\t==> Ok\n";
$i++;
}
close(INFO);[/code]
Bien sûr, pour utiliser ce script, vous devez d’abord installer le module MIME::Lite (et ses modules dépendants). En allant sur le site de la CPAN vous trouverez plus d’infos.
Merci à Rodmov pour son aide. 