PEGASUS MAIL
Philippe Chartier - lycée Le Corbusier - Aubervilliers
Quelques améliorations possibles
Enregistrer le nom de l'utilisateur
Vérifier la présence de courrier à la connexion
Transférer le carnet d'adresses et les courriers de Netscape Messenger
Présentation de Pegasus Mail
Pegasus Mail est un logiciel client de courrier électronique conçu en 1989 par un néo-zélandais David Harris, la version actuelle est la 3.12c, elle date de février 2000.
Ce que Pegasus Mail fait :
Pegasus Mail permet de relever une infinité de boîtes à
lettres, de définir une infinité d'identités pour
l'utilisateur (chacune éventuellement liée à une boîte à
lettres différente), de créer une infinité de carnets
d'adresses, de créer une infinité de listes de diffusion. Il
fonctionne aussi bien en monoposte qu'en réseau et permet dans
cette situation de faire de la messagerie interne entre les
utilisateurs, il a été traduit en français par M.N. Morency
et C. Rousseau du CIDIF et il est
gratuit.
Ce que Pegasus Mail ne fait pas :
Si Pegasus Mail permet de faire de la messagerie interne entre
les utilisateurs d'un réseau local ce n'est pas pour
autant un serveur SMTP/POP3. Pegasus Mail a la capacité de déposer
un fichier texte qu'il sait interpréter comme un courrier électronique
dans le dossier de courrier d'un utilisateur. Il n'est pas
possible d'envoyer un courrier local en utilisant Netscape
Messenger, Eudora ou tout autre logiciel de courrier électronique,
par exemple il n'est pas possible de créer un QCM dans une page
HTML et de demander à un élève de poster sa réponse dans la
boîte à lettre locale du professeur. C'est une limitation qu'il
faut connaître.
La fonctionnalité de relais SMTP/POP3 peut être obtenue par
l'utilisation de Mercury du même éditeur et également gratuit.
Installation sur domaine NT4
Préambule
Pour la suite du document je vais définir un certain nombre
de dossiers et de partages qu'il conviendra d'adapter à la
situation locale.
Une connaissance minimale de l'administration d'un serveur NT4
ainsi que de la programmation en batch est nécessaire.
Sur le serveur :
Sur le serveur créer un dossier D:\Messagerie que l'on
partage sous le nom Messag$.
Dans ce dossier Messagerie créer un dossier Pmail et un
dossier Courrier.
Créer un groupe global Courrier destiné à accueillir les
utilisateurs de la messagerie.
Donner le droit Lire et Exécuter (RX) aux membres du groupe
Courrier et Contrôle Total aux administrateurs sur le dossier D:\Messagerie
et tous ses sous-dossiers. Supprimer tous les autres droits
notamment Contrôle Total à Tout le monde donné par défaut à
la création du dossier.
Dans le script de connexion au domaine mapper la lettre P sur
Messag$ (net use P: \\Serveur\Messag$).
Depuis une station :
Se connecter en administrateur ou avec un compte ayant le droit
d'écriture dans le partage Messag$.
Lancer l'installation de Pegasus Mail.
Désigner le dossier P:\Pmail comme dossier d'installation.
Une fois l'installation terminée lancer la francisation du
logiciel.
Désigner P:\Pmail comme dossier d'installation au module de
francisation s'il ne le trouve pas tout seul.
Lancer
Pegasus Mail, le logiciel vous demande alors quel type
d'installation vous désirez. Choisissez la deuxième possibilité : Plus d'une personne utilise Pegasus Mail... Je n'ai pu tester complètement la version réseau
mais à première vue son comportement est identique à
la version multi-utilisateurs en réseau. |
Le logiciel vous demande alors de désigner l'emplacement des
dossiers de courrier des utilisateurs, désignez le dossier P:\Courrier.
Il faut
maintenant créer le premier utilisateur, celui qui nous
servira de modèle. Il faut cocher Administrateur car Pegasus impose qu'il y en ait au moins un même si nous ne créerons pas de compte par ce biais. Si vous cochez la case Copier les messages... des messages pré définis seront copiés dans le dossier de courrier créé, ces messages se trouvent dans le dossier d'installation de Pegasus Mail (P:\Pmail) avec l'extension .dmi Nous verrons plus bas qu'il est possible d'envoyer nos propres messages au moment de la création du compte. |
Une fois ceci fait, Pegasus Mail se lance sur le compte de l'utilisateur créé.
Il faut maintenant paramétrer correctement
le compte de cet utilisateur qui nous servira de modèle:
Vous pouvez définir le serveur SMTP de votre fournisseur d'accès
à l'Internet : Outils/Options Internet
Il faut également paramétrer les préférences générales : Outils/Préférences
Par mesure de sécurité vous pouvez par exemple (onglet
visualiseurs) définir votre logiciel antivirus comme visualiseur
des fichiers de type exe, com, dll, doc, dot, xls etc et même
notepad pour les fichiers de type vbs (cf Iloveyou).
Vous pouvez également définir une barre d'outils plus adaptée
que celle proposée par défaut , un document d'aide sur la
confection d'une barre d'outils personnalisée se trouve dans le
dossier P:\Pmail\resource.fr et porte le nom bpanel.txt.
Attention : un défaut de Pegasus Mail francisé peut empêcher l'envoi de pièces jointes dont le nom comporte un espace ou un caractère accentué. Dans l'onglet Envoi du courrier il faut cocher la case Ne pas ajouter de volet d'information aux messages en plusieurs parties.
Prenez soin de correctement paramétrer cet utilisateur qui sera le modèle des autres, toute erreur deviendra difficile à corriger une fois les utilisateurs créés ; l'aide en ligne est précise et utile.
Une fois l'utilisateur modèle correctement paramétré nous allons le sauvegarder en fermant Pegasus Mail.
Sur le serveur :
Dans le dossier D:\Messagerie\Courrier on trouve
maintenant un fichier pmail.usr et un dossier Admin.
Le contenu de pmail.usr (fichier texte) est : A;Admin;Administrateur
de messagerie ce qui signifie Administrateur (on aurait eu U
pour un simple utilisateur) ; nom d'utilisateur ; nom complet.
Effacer pmail.usr (sauf si vous souhaitez conserver cet
utilisateur).
Déplacer le dossier D:\Messagerie\Courrier\Admin en
D:\Sauvcour (ou le copier si vous souhaitez conserver cet
utilisateur).
Dans le dossier D:\Sauvcour se trouve un fichier pmail.ini,
ouvrons-le et remplaçons Administrateur de messagerie par
$prenom $nom (1 remplacement) et Admin par $user
(4 remplacements) puis sauvegardons pmail.ini.
Nous sommes maintenant prêts à créer des utilisateurs en nombre.
Pour pouvoir exécuter Pegasus Mail sur une station du réseau il suffit d'y placer un raccourci vers P:\pmail\winpm-32.exe aucune installation n'est nécessaire (avantage supplémentaire de Pegasus Mail). On peut déclarer le dossier personnel de l'utilisateur (mappé sur une lettre) dans le champ Démarrer en des propriétés du raccourci ceci permet à l'utilisateur de voir en priorité son dossier personnel quand il veut ajouter ou enregistrer des pièces jointes..
Création d'utilisateurs
Dans un dossier du serveur nous allons maintenant écrire un fichier batch permettant la création des utilisateurs de la messagerie en nombre.
Ce fichier batch creautil.bat sera appelé avec 3 paramètres, le premier est le nom d'utilisateur de la messagerie, le 2e le nom réel de l'utilisateur et le 3e son prénom réel. Soit :
creautil pdurand Durand Pierre
creautil.bat :
(1) md d:\messagerie\courrier\%1
(2) copy d:\sauvcour\*.* d:\messagerie\courrier\%1\
(3) echo U;%1;%3 %2 >> d:\messagerie\courrier\pmail.usr
(4) woop d:\messagerie\courrier\%1\pmail.ini /C=$user /N=%1
(5) woop d:\messagerie\courrier\%1\pmail.ini /C=$nom /N=%2
(6) woop d:\messagerie\courrier\%1\pmail.ini /C=$prenom /N=%3
(7) xcacls d:\messagerie\courrier\%1 /t /g administrateurs:f %1:c
courrier:r;tw /y
(8) echo **** > d:\messagerie\courrier\%1\localsig.pms
(9) echo %3 %2 >> d:\messagerie\courrier\%1\localsig.pms
Quelques explications:
(1) | Création du dossier
de courrier de l'utilisateur |
(2) | Copie du contenu du
dossier de référence |
(3) | Ajout de l'utilisateur
dans la liste pmail.usr |
(4) (5) (6) | Personnalisation
de pmail.ini en remplaçant les variables $user, $prenom
et $nom par les caractéristiques de l'utilisateur créé.
On utilise woop.exe un utilitaire gratuit de kik-it
softwares. |
(7) |
Affectation des droits sur le dossier de courrier de l'utilisateur : - Contrôle total pour le groupe des administrateurs. - Modifier (RWXD)(RWXD) pour l'utilisateur, il faut qu'il puisse lire son courrier, effacer des messages et paramétrer son compte. - Accès spécial (W)(non spécifié) pour les membres du groupe courrier, ceci est la fonction "boîte à lettres": possibilité de déposer un courrier dans le dossier mais impossibilité de lire ni de lister le contenu. L'utilitaire "classique" d'affectation des droits en ligne de commande cacls.exe est inopérant ici car il ne sait pas imposer un accès spécial à un dossier ou à un fichier. |
(8) (9) |
Création d'une signature personnalisée pour le courrier local de l'utilisateur. |
Création en nombre
Pour créer les utilisateurs en nombre la méthode
la plus simple est d'utiliser un tableur.
Il faut tout d'abord disposer de la liste des utilisateurs que
l'on veut intégrer au service de messagerie. Si vous ne disposez
pas d'une telle liste vous pouvez retrouver vos utilisateurs
existants dans un fichier texte par la commande:
net user >> users.txt
Vous pouvez maintenant afficher la liste de vos utilisateurs dans une feuille de tableur, le nom en colonne C et le prénom en colonne D. Par une formule de calcul de votre choix on peut calculer le nom d'utilisateur à partir de son nom et de son prénom, que l'on place en colonne B. En colonne A on place l'appel au batch précédemment créé:
A | B | C | D | |
1 | call creautil.bat | clapierre | Lapierre | Christine |
2 | call creautil.bat | jmartin | Martin | Jean |
3 | call creautil.bat | mdupont | Dupont | Martine |
4 | call creautil.bat | pdurand | Durand | Pierre |
Faites attention qu'il n'existe pas de
doublon, un test d'existence dans le batch déroutant sur une
erreur convient.
On peut maintenant sauvegarder cette feuille de tableur au format
texte sous le nom messag.txt, on renomme ensuite en messag.bat
que l'on exécute pour créer les comptes de messagerie. Le
travail est terminé.
Remarque n°1 : Pour pouvoir créer des utilisateurs dont le nom dépasse 8 caractères il faut tout d'abord reprendre la configuration de Pegasus Mail : dans le dossier de Pegasus Mail lancez pconfig.exe, choisissez Standalone configuration et remplacez ~8 par ~N, sauvegardez et quittez.
Remarque n°2 : Pegasus Mail a été conçu dès l'origine pour s'intégrer aux réseaux Novell Netware et à leur système de messagerie MHS, n'ayant pas une compétence suffisante sur ce type de réseau j'ai pu néanmoins y faire fonctionner Pegasus Mail en appliquant "à la main" des droits identiques à ceux de NT4 : s'agissant d'un réseau administratif de 15 utilisateurs je n'ai pas eu à créer de batch de création automatique d'utilisateurs.
Remarque n°3 : On peut tout à fait
faire fonctionner Pegasus Mail dans un réseau de type groupe de
travail, un poste est désigné comme serveur de messagerie et le
fonctionnement est identique à celui expliqué plus haut mais
aucune confidentialité n'est alors possible celle-ci étant
garantie par les droits NTFS sur les dossiers du serveur.
La version 4 de Pegasus Mail prévue pour courant 2001 devrait
intégrer une possibilité d'accès au compte de messagerie par
mot de passe, on pourra alors garantir la confidentialité des
messages mais toujours pas leur sécurité : il sera toujours
possible à un utilisateur d'effacer le dossier de courrier d'un
autre.
Enregistrer le nom de l'utilisateur
Lors du lancement de Pegasus Mail celui-ci vous accueille par une fenêtre vous demandant votre nom d'utilisateur :
La saisie du nom d'utilisateur lance alors
une session de Pegasus Mail pour cet utilisateur. Ce
fonctionnement a quelques inconvénients : tout d'abord
celui de devoir saisir à nouveau un nom d'utilisateur alors
qu'on l'a fait au moment de l'ouverture de session Windows, si
cet inconvénient est mineur il n'en va pas de même du suivant :
Si un utilisateur saisit le nom d'un autre (existant dans la
liste) Pegasus Mail le reconnaissant (il est inscrit dans le
fichier pmail.usr) va ouvrir une session à ce nom, grâce à la
sécurité du système de fichier l'usurpateur ne pourra pas accéder
aux courriers de celui dont il usurpe l'identité mais s'il
envoie un message à un autre utilisateur il sera signé de sa
victime, c'est une façon simple de faire de l'usurpation
d'identité.
On peut éviter tous ces problèmes en enregistrant le nom de connexion au démarrage de session dans une variable d'environnement connue de Pegasus Mail : pmuser. Il faut pour cela que le nom d'utilisateur du domaine soit identique à celui de l'utilisateur de la messagerie mais ceci semble assez naturel.
Lors du script de connexion au domaine on
peut affecter une variable d'environnement grâce à l'utilitaire
winset.exe livré sur les cédéroms de Windows 95 (dossier
Admin\Apptools\Envvars) et de Windows 98 (dossier
tools\Reskit\Scrpting). L'affectation d'une variable
d'environnement par la commande set lors du déroulement du
script de connexion au domaine n'a lieu que tant que la fenêtre
de connexion est en cours, dès la fin du script la variable
disparaît, c'est l'intérêt de winset.exe de pouvoir appliquer
durablement une variable affectée dans une fenêtre MS-DOS.
On peut donc placer dans le script de connexion : z:\winset pmuser=%username%
Z: est la lettre affectée au partage Netlogon (Winnt\system32\repl\import\scripts)
au moment de l'exécution du script de connexion dans lequel on a
placé winset.exe.
Un nouveau problème surgit : la variable d'environnement %username%
n'est pas disponible sous Windows 9x (elle l'est sous Windows NT
Workstation), nous allons devoir utiliser un utilitaire gratuit
de MJ Winkler : putinenv.exe qui permet , si on lui passe le
paramètre L, de placer dans l'environnement du poste exécutant
script de connexion la variable %username%. Le script de
connexion a alors l'allure suivante:
z:\putinenv L [putinenv.exe est placé dans le partage netlogon du serveur]
z:\winset pmuser=%username% [pmuser est affectée durablement du contenu de %username%]
On peut profiter de putinenv pour mapper une lettre d'unité logique (M:) sur le dossier personnel de l'utilisateur partagé sous le nom login$ (partage masqué):
net use M: \\serveur\%username%$
Dorénavant quand Pegasus Mail sera lancé aucun nom d'utilisateur ne sera demandé, la session démarre sous le nom de connexion de l'utilisateur en cours.
Remarque : Comme dit plus haut la
variable %username% est disponible sous NT4 Workstation, la
variable pmuser, elle, ne l'est pas. Winset.exe ne fonctionne pas
non plus sous NT4Wks.
La solution, simple, est de placer dans autoexec.bat : set pmuser=%username%
Vérifier la présence de courrier à la connexion
On peut améliorer le confort d'utilisation
de Pegasus Mail en indiquant à l'utilisateur au moment de sa
connexion au domaine qu'il a du courrier non lu dans sa boîte de
réception.
On dispose pour cela d'un utilitaire gratuit écrit par Jirí
Kuchta qui permet de vérifier la
présence de l'indicateur x-pmflags (cet utilitaire a beaucoup
d'autres fonctionnalités) dans les messages d'une boîte de réception
d'un utilisateur donné, cet indicateur nous renseigne sur le
fait que les messages (fichiers de type .cnm) ont été lus ou
non.
On place newmail.exe dans le dossier d'installation de Pegasus
Mail (P:\Pmail) et depuis le script de connexion on appelle
newmail de la façon suivante :
P:\Pmail\newmail -u:%username% -oh -mn -q |find /v "nouveau(x)"
if errorlevel 1 goto fin
if errorlevel 0 start courrier.exe
:fin
On passe à newmail le nom de la boîte à lettres à vérifier ainsi que d'autres paramètres d'exécution (voir documentation jointe à newmail), le mot nouveau(x) n'apparaîtra que si newmail trouve la boîte avec du courrier non lu, on filtre la réponse grâce à la commande "|find /v "nouveau(x)"", si errorlevel vaut 0 alors le mot "nouveau(x)" est apparu dans la réponse on ouvre une fenêtre d'information (courrier.exe).
Un appel à putinenv (voir paragraphe précédent) antérieur à l'exécution de newmail est indispensable pour rendre disponible dans l'environnement la variable %username%.
Écrire un courrier en batch
J'ai ressenti le besoin de pouvoir écrire
un courrier en batch lorsque j'ai installé une gestion de quotas
sur les dossiers personnels des utilisateurs, il fallait trouver
un moyen d'informer l'utilisateur du dépassement du quota de son
dossier personnel or le seul service de messagerie disponible sur
le réseau était celui de Pegasus Mail. J'ai utilisé ensuite
cette fonctionnalité pour envoyer un message de bienvenue
personnalisé à chaque nouvel utilisateur créé.
La structure d'un courrier est la suivante:
From:
Organization:
To:
Date:
MIME-Version: 1.0
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
Subject:
Message-ID: <39E8424C.21847.450AAA@localhost>
X-mailer: Pegasus Mail for Win32 (v3.12cFR)Corps du message
Écrire un courrier en batch se résume donc à pouvoir écrire un document texte du modèle ci-dessus dans la boîte à lettres du destinataire. Créer ce type de document pose 2 difficultés :
Le nom du fichier doit être unique afin d'éviter
un conflit de nom dans le dossier de courrier du destinataire.
La date doit avoir un format précis du type : Sat, 14 Oct 2000 11:23:56 +0200
Ces deux problèmes peuvent être réglés grâce à l'utilitaire woop de kik-it softwares. Le batch a alors l'allure suivante (on lui passe en paramètre %1:nom du destinataire %2:nom du courrier type, on a pris soin de créer un courrier type dont le nom du destinataire est $dest et la date $date) :
(1) if exist fic.bat del fic.bat
(2) echo set f=d:\messagerie\courrier\%1%\nomfic.cnm >> fic.bat
(3) woop fic.bat /C=nomfic /N=[RND8]
(4) call fic.bat
(5) del fic.bat
(6) type %2 > %f%
(7) woop %f% /C=$dest /N=%1
(8) woop %f% /C=$date /N=[DAY:es], [DATE:dd me yyyy] [TIME:hh:mm:ss] +200
Quelques explications :
(1) : nettoyage éventuel du dossier
(2) : écriture d'un fichier batch comprenant la commande set
(3) : transformation du fichier batch pour créer un nom de
fichier aléatoire sur 8 caractères
(4) : exécution du fichier batch précédemment créé, la
variable f contient le nom du courrier à créer
(5) : effacement du batch qui n'est plus nécessaire
(6) : copie du courrier type dans le dossier du destinataire sous
un nom aléatoire
(7) : écriture du nom du destinataire dans le courrier
(8) : écriture de la date sous le format voulu dans le courrier
Transférer le carnet d'adresses et les courriers de Netscape Messenger
Transférer le carnet d'adresses de Netscape Messenger vers Pegasus Mail
La méthode est simple pour peu que l'on
dispose d'un tableur.
Dans Netscape Messenger choisissez Communicator/Carnets
d'adresses, sélectionnez le carnet d'adresses que vous
voulez exporter, dans le menu Fichier choisissez Exporter
choisissez Balise de délimitation et exportez le carnet.
Dans un tableur ouvrez le carnet précédemment
exporté en indiquant la tabulation comme délimitation, votre
carnet d'adresse va alors apparaître, une adresse par ligne, un
champ par colonne. Supprimez les colonnes inutiles et permutez
les autres pour obtenir les champs dans l'ordre suivant :
Nom, Émail, Clé, Société,
Téléphone, Télécopie, Code postal + Ville, Adresse, Notes, Nom de
fichier de la photo
NB : La clé sert à indexer le carnet
d'adresses.
Sauvegardez ensuite ce document au format
texte avec délimiteur tabulations.
Dans Pegasus Mail, ouvrez un carnet d'adresses destiné à
recevoir les adresses en provenance de Netscape Messenger (s'il
n'existe pas créez le puis ouvrez le), dans le menu Carnets
d'adresses choisissez Importer le texte délimité par
tabulation sélectionnez le fichier sauvegardé à la sortie
du tableur, votre carnet d'adresses est transféré dans Pegasus
Mail.
Remarque : Les carnets d'adresses privés (et aussi les listes de distribution) sont placés dans le dossier de courrier de l'utilisateur, pour qu'un carnet (ou une liste) devienne public (commun à tous les utilisateurs de la messagerie) il suffit de le placer dans le dossier de Pegasus Mail (on alors une protection contre les modifications) ; on peut aussi les placer dans tout dossier dont le chemin est indiqué dans la variable d'environnement pml.
Transférer les courriers de Netscape Messenger vers Pegasus Mail
Dans Netscape Messenger créez un dossier transfert
à la racine du dossier de courrier, placez dans ce dossier tous
les courriers que vous voulez transférer dans Pegasus Mail,
fermez Messenger.
Avec l'explorateur ouvrez le dossier de courrier du profil ayant
créé le dossier transfert (probablement ) :
C:\Program Files\Netscape\Users\Defaut\Mail
Vous trouverez 2 fichiers transfert, l'un portant l'extension .snm et l'autre sans extension ; copiez celui qui ne porte pas d'extension dans votre dossier de courrier Pegasus Mail, ajoutez-lui l'extension .mbx puis lancez Pegasus Mail, vous verrez apparaître un dossier de courrier transfert.mbx contenant tous les messages sauvegardés, il ne vous reste plus qu'à les classer dans vos différents dossiers puis à supprimer le dossier transfert.mbx.
Liens utiles
Le site officiel de Pegasus Mail est une source importante d'informations et de liens vers des sites d'utilitaires.
Vous pouvez également consulter le forum de news consacré à Pegasus Mail, si votre serveur de news ne l'offre pas vous pouvez consulter ce site qui vous indiquera un serveur public offrant le forum comp.mail.pegasus-mail.ms-windows.
Il existe également une liste de diffusion consacrée à Pegasus Mail à laquelle vous pouvez vous abonner en envoyant un message dont l'objet est "SUBSCRIBE PMAIL votrenom" à listserv@bama.ua.edu, conservez précieusement le message de confirmation de votre abonnement il contient la procédure de désabonnement et la liste des commandes recevables par le robot de liste. Par défaut l'abonnement est configuré pour vous envoyer un courrier quotidien contenant les contributions à la liste. Une fois abonné à la liste de diffusion vos messages devront être adressés à pmail@bama.ua.edu.
Téléchargements
Cliquez ici pour télécharger la version 3.12c de Pegasus Mail (3341 ko).
Cliquez ici pour télécharger le module de francisation (469 ko).
Cliquez ici pour télécharger un exemple de fichier de barre d'outils (1 ko).
Cliquez ici pour télécharger Woop (61 ko).
Cliquez ici pour télécharger Xcacls (29 ko).
Cliquez ici pour télécharger Putinenv (22 ko).
Cliquez ici pour télécharger Newmail (114 ko).
Cliquez ici pour télécharger Courrier (15 ko).
Cliquez ici pour télécharger la librairie vb40032.dll nécessaire au fonctionnement de courrier.exe (382 ko).
Cliquez ici pour télécharger la notice d'utilisation de Pegasus Mail au format pdf (1331 ko).
Cliquez ici pour télécharger Adobe Acrobat reader.