Le royaume de Eric Buist >> Informatique >> Quelques-unes de mes recherches personnelles >> Trucs et astuces | ||
Me contacter | Plan du site | |
<< Configuration du clavier sous Linux | Envoyer/recevoir du courrier sous Linux | Partage d'une connexion Internet >> |
Quoi de plus simple que l'envoi d'un courrier électronique? Il suffit de taper l'adresse de destination, un titre pour le message et le message lui-même puis d'envoyer le message à son ou ses destinataires. Toutefois, configurer sa machine pour lui permettre d'envoyer/recevoir du courriel est légèrement plus complexe. Il arrive de temps en temps que le fournisseur d'accès Internet livre une trousse d'installation qui effectuera la configuration, mais dans certains cas, cette trousse brille par son absence ou fonctionne mal avec une nouvelle version du système d'exploitation. La configuration est dans tous les cas manuelle si votre adresse provient d'une autre organisation que le fournisseur et sous Linux, c'est encore plus manuel!
Bien sûr, avant de penser communiquer par courriel, vous devez disposer d'une connexion Internet et la configurer pour Linux. Beaucoup de paramètres sont alors en jeu, dont le type de votre modem. Si vous êtes comme moi malchanceux et que vous disposez d'un Winmodem non supporté par Linux ou de tout autre modem téléphonique déguisé qui cache un Winmodem, comme un HaM, vous devrez oublier l'alliage Linux/Internet, à moins de disposer d'une connexion haute vitesse qui, elle, passe par une carte réseau qui, si elle n'est pas USB ou très exotique, devrait fonctionner sous Linux.
La configuration d'une connexion Internet Linux constitue un sujet en soi, car il y a bien des problèmes qui surgissent, surtout avec une connexion haute vitesse Sympatico ou pire, une connexion téléphonique par lien PPP. Mas c'est faisable et le résultat en vaut le coup: une machine capable non seulement de naviguer sur le Web mais aussi de devenir un serveur Web, FTP, Telnet, News, tout ce que vous voudrez en autant que vous sachiez le configurer! Ce qui n'est pas mon cas puisque juste configurer le courriel a demandé la Lune...
Bon, que faut-il savoir pour avoir l'ombre d'une chance de configurer le courriel sous Linux?
Il existe maintenant de multiples façons pour lire et envoyer du courriel. On peut le faire en mode graphique sous X ou en mode texte, avec ou sans serveur SMTP. Remarquez que sous Windows, le serveur SMTP est obligatoire, car le système ne comporte pas de serveur de courriel intégré. J'ai classé les solutions à ce problème par ordre chronologique de succès d'exploitation. Je parle de succès lorsque la méthode fonctionne de façon logicielle, pas lorsque je l'apprécie!
Je dois aussi mentionner la possibilité d'utiliser KMail, mais puisque ce dernier ne gère que les comptes POP3 et que je ne dispose que de comptes IMAP, je n'ai pu ni l'expérimenter, ni l'exploiter à fond!
Exemples: | Hotmail, Caramail, MonCourrier, Magellan en mode Telnet ou mode Web à l'Université de Montréal, ... |
Avantages: |
|
Inconvénients: |
|
Ce mode est le plus facile à utiliser et il est adopté par bien des gens qui ne souhaitent pas se casser la tête avec le courriel. Il constitue une bonne issue de secours dans le cas de programmes récalcitrants comme sous Linux et j'avoue avoir utilisé cette stratégie à quelques reprises lors de mes infructueuses tentatives de faire fonctionner Pine sur ma machine locale.
La connexion peut s'effectue par interface Web dans le cas de Hotmail et compagnie, mais aussi parfois par interface texte en mode Telnet. Ce qui en fait un bon moyen de communication, mais en Telnet, si la connexion Internet lâche en cours de route, le message peut se perdre, rien de moins, car il peut ne pas être sauvegardé. En local, si la connexion est interrompue, le message sera sauvegardé et vous pourrez reprendre plus tard.
Exemples: | Sendmail, Postfix |
Avantages: |
|
Inconvénients: |
|
Certains logiciels de courrier électronique sous Linux ne communiquent pas avec le serveur SMTP de votre choix. Ils utilisent plutôt la machine locale comme un serveur SMTP. C'est le cas, par exemple, de la commande mail et de GNU Emacs. Pour utiliser ces logiciels pour envoyer du courrier électronique, un agent de transport de messages (message transport agent ou MTA) doit être mis en place. Le MTA le plus répandu consiste sans nul doute Sendmail, mais il est difficile à configurer et ne semble pouvoir fonctionner adéquatement que sur des machines pourvues d'une adresse IP fixe reliée à un nom de domaine. Lorsque Sendmail envoie un message, il ne permet pas de modifier l'adresse de messagerie par défaut d'un usager. Il forme cette adresse en prenant le nom d'usager Linux, par exemple eric, et en lui ajoutant @domaine, où le domaine est obtenu par la commande hostname ou d'une façon équivalente. Une telle adresse invalide est rejetée par la plupart des serveurs et aucun message ne parvient à destination.
PostFix, de son côté, offre une configuration plus simple et des options pour permettre de l'utiliser sans une IP fixe et un domaine. La procédure de configuration de PostFix exposée ici s'inspire de Nocton, Cyril, Mandrake Linux 9.1, collection Dossier Micro, Micro Application, Paris, 2003. Si PostFix n'est pas activé, ce qui est le cas sous RedHat Linux, il vous faudra le mettre en fonction. Pour ce faire, vous devrez désactiver Sendmail en tapant, en tant qu'usager root, la commande /etc/init.d/sendmail stop.
La première étape pour rendre PostFix fonctionnel consiste à définir une régle transformant une adresse locale du type eric@faucondefer.buistgroup.ca en adresse accessible depuis l'Internet. Ce qui peut se faire par le biais du fichier /etc/postfix/canonical. Ce fichier texte ASCII contient une ligne pour chaque règle de réécriture d'une adresse. Les lignes sont de la forme
usager Linux adresse e-mail
Il est aussi possible d'utiliser la forme
usager Linux Nom complet <</tt>adresse e-mail>
PostFix n'interprétant pas ce fichier directement lors de chaque chargement, il faut le convertir en format binaire en utilisant la commande postmap -v hash:/etc/postfix/canonical. Pour que ce fichier soit utilisé, il vous faut indiquer à PostFix où le trouver en ajoutant la ligne suivante dans /etc/postfix/main.cf:
sender_canonical_maps = hash:/etc/postfix/canonical
Une seconde difficulté réside dans le fait que certains serveurs SMTP n'acceptent pas des messages provenant de serveurs SMTP dont le nom de domaine est invalide. Alors, il faudra indiquer à PostFix de relayer les messages vers un serveur SMTP valide en ajoutant la ligne suivant dans ;/etc/postfix/main.cf:
relayhost = votre serveur SMTP
Pour activer PostFix, tapez /etc/init.d/postfix start. Ensuite vient le moment de le tester. Pour ce faire, vous pouvez utiliser la commande mail. L'interaction avec cette commande devrait ressembler à ce qui suit. <pre> Subject: Test Ceci est un test Cc: buisteri@iro.umontreal.ca... Connecting to [127.0.0.1] via relay... 220 faucondefer.buistgroup.ca ESMTP Postfix >>> EHLO faucondefer.buistgroup.ca 250-faucondefer.buistgroup.ca 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-XVERP 250 8BITMIME >>> MAIL From:<eric@faucondefer.buistgroup.ca> SIZE=62 250 Ok >>> RCPT To:<buisteri@iro.umontreal.ca> >>> DATA 250 Ok 354 End data with <CR><LF>.<CR><LF> >>> . 250 Ok: queued as 7C08420A2FE buisteri@iro.umontreal.ca... Sent (Ok: queued as 7C08420A2FE) Closing connection to [127.0.0.1] >>> QUIT 221 Bye</pre>
Lors de l'appel de la commande, vous devez bien entendu utiliser une adresse de courrier électronique valide en guise d'argument. Si vous recevez bien un message de test, vous saurez que PostFix fonctionne correctement. Il reste à le configurer pour qu'il démarre lors du démarrage de Linux. Pour ce faire, utilisez les commandes suivantes.
chkconfig --level 345 postfix on chkconfig --level 0126 postfix off chkconfig --level 0123456 sendmail off
Cette configuration effectuée, vous pourrez utiliser localhost comme serveur SMTP dans tous les logiciels de courrier électronique sous Linux.
Version utilisée: | 4.76 |
Avantages: |
|
Inconvénients: |
|
La configuration de ce logiciel s'effectue à l'aide de la commande Preferences du menu Edit. Dans la branche Mail & Newsgroups, on trouve les branches Identity et Mail Servers. Dans Identity, il est possible de définir son nom et son adresse qui servira d'adresse de retour. Dans Mail Servers entrent les informations techniques. Il vous faudra cliquer sur Add pour ajouter un nouveau serveur, déterminer si c'est un serveur IMAP ou POP3, le nom du serveur, le nom d'usager, si vous voulez enregistrer votre mot de passe et d'autres paramètres du genre. Le serveur SMTP, obligatoire pour Netscape, doit aussi être défini.
J'imagine que beaucoup d'utilisateurs vont s'arrêter là, Netscape est relativement simple à utiliser et configurer, mais quand on se fait ennemi de la souris et de l'interface graphique, il devient un enfer sur Terre et c'est pour cela que j'ai voulu poursuivre plus avant mes investigations avant de retourner à Windows et mon familier Outlook Express! Linux est un espoir, un système enfin stable et en plus gratuit! Je ne devais pas le laisser tomber à cause de Netscape!
Version utilisée: | 5.2 |
Avantages: |
|
Inconvénients: |
|
Pour configurer la bêbite, cliquez droit dans la fenêtre principale de StarOffice et sélectionnez Nouveau puis Compte IMAP ou Compte POP3 selon les besoins. Vous devrez ensuite remplir les paramètres demandés qui regroupent bien entendu le nom du serveur, le nom d'usager, le mot de passe, ... Il est aussi possible de configurer des boîtes d'envoi multiples, ie plusieurs serveurs SMTP. Ce qui permet d'en utiliser un pour certains cas et un autre pour d'autres applications. StarOffice supporte également des comptes plus ésotériques comme un compte VIM ou FTP.
Version utilisée: | 4.33 |
Avantages: |
|
Inconvénients: |
|
Lorsque Pine est configuré, il est assez simple d'utilisation, mais si tel n'est pas le cas... Le problème de Pine est qu'il ne constitue pas un logiciel de courriel complet, mais plutôt un Mail User Agent. Il ne fournit qu'une interface utilisateur, le système ou plus spécifiquement le Mail Transport Agent, se charge d'acheminer le courriel. Le hic, c'est qu'il faut configurer le système et que ce n'est pas simple... Si vous avez configuré PostFix pour pouvoir utiliser localhost comme serveur SMTP, vous pouvez utiliser Pine sans configuration spéciale.
Pine utilise par défaut Sendmail pour envoyer le courriel, ce qui transforme votre machine Linux en un serveur SMTP. Lorsque vous envoyez un message, le système communique directement avec l'hôte destinataire et lui envoie le message. Le problème consiste en l'adresse de retour qui est formée du nom d'utilisateur et du nom d'hôte de votre machine. Mais le nom d'hôte n'existe généralement pas sur Internet et cela cause problème. Voici un test tout simple qui vous montrera ce qui se passe.
[eric@faucondefer tips]$ mail -v eric.buist@umontreal.ca Subject: Test Test Cc: eric.buist@umontreal.ca... Connecting to effraie.cc.umontreal.ca. via esmtp... 220 effraie.CC.UMontreal.CA ESMTP Sendmail 8.11.3/8.8.8; Sun, 3 Jun 2001 15:51:21 -0400 (EDT) >>> EHLO faucondefer.buistgroup 250-effraie.CC.UMontreal.CA Hello modemcable071.233-202-24.mtl.mc.videotron.ca [24.202.233.71], pleased to meet you 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-SIZE 5120000 250-ONEX 250-ETRN 250-XUSR 250 HELP >>> MAIL From:<eric@faucondefer.buistgroup> SIZE=48 451 4.1.8 <eric@faucondefer.buistgroup>... unresolvable host name faucondefer.buistgroup, see RFC 1123, sections 5.2.2 and 5.2.18. eric.buist@umontreal.ca... Connecting to ulys.poste.umontreal.ca. via esmtp... 220 ulys.POSTE.UMontreal.CA ESMTP Sendmail 8.11.4/8.11.4; Sun, 3 Jun 2001 15:51:21 -0400 (EDT) >>> EHLO faucondefer.buistgroup 250-ulys.POSTE.UMontreal.CA Hello modemcable071.233-202-24.mtl.mc.videotron.ca [24.202.233.71], pleased to meet you 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-SIZE 5120000 250-ONEX 250-ETRN 250-XUSR 250 HELP >>> MAIL From:<eric@faucondefer.buistgroup> SIZE=48 553 5.1.8 <eric@faucondefer.buistgroup>... Domain of sender address eric@faucondefer.buistgroup does not exist /home/eric/.forward: line 1: forwarding to eric.buist@umontreal.ca /home/eric/dead.letter... Saved message in /home/eric/dead.letter Closing connection to ulys.poste.umontreal.ca. >>> QUIT 221 2.0.0 ulys.POSTE.UMontreal.CA closing connection Closing connection to effraie.cc.umontreal.ca. >>> QUIT 221 2.0.0 effraie.CC.UMontreal.CA closing connection [eric@faucondefer tips]$
On voit ici que le serveur contacté se plaint que le domaine faucondefer.buistgroup n'existe pas. Une solution consiste à remplacer le hostname par un domaine existant, comme videotron.ca par exemple. Mais dans tous les cas, il y aura problème puisque l'adresse de retour demeurera invalide. Lorsqu'un message est envoyé sous Pine par défaut, il ne se passe rien, on a l'impression que le message est parti, mais jamais il ne se rend, car le serveur SMTP destination erjette le message. Toutefois, lors des tests, je me suis rendu compte que Hotmail accepte ces messages mal formés. À toute règle, il y a une exception!
Pour définir un véritable domaine, démarrez Pine. Appuyez ensuite sur S pour déclencher le mode Setup puis sur C pour activer Config. Vous pouvez de là modifier votre nom, le domaine qui sera utilisé ainsi que le serveur SMTP si vous souhaitez en utiliser un. Lorsque vous aurez fini de configurer le logiciel, tapez E pour sortir du mode de configuration. Envoyez maintenant un message à vous-même, cela devrait fonctionner.
Bon, maintenant comment modifier votre adresse de retour pour refléter votre véritable adresse électronique? Malheureusement, Linux s'entête à prendre le nom local de l'utilisateur, lui ajoute un @ et puis le nom d'hôte de votre machine! Il serait imaginable de modifier le hostname de la machine pour lui donner le nom d'hôte de votre adresse e-mail puis de créer un compte qui possèderait le bon nom d'utilisateur pour l'adresse. Par exemple, selon cette technique, je créerais un utilisateur buisteri sur ma machine et je définirais l'hôte comme étant iro.umontreal.ca. Mais dans bien des cas, cette pratique ne permettra qu'à une seule personne d'utiliser le courriel en mode console. Les autres devront se contenter de Netscape ou StarOffice, ce n'est donc pas une manière qui respecte le multi-utilisateur Linux.
On va donc ruser pour changer l'adresse source du message, ce qui peut se faire sous Pine en utilisant les Roles. Activez une seconde fois le mode Setup (touche S), puis Rules (R). Comme type de règles, activez R pour Roles. Vous devrez ajouter un nouveau rôle avec Add (A). Ce rôle s'applique pour tou message, donc on ne met rien dans les champs de texte au début. Dans la section Current Folder Type, sélectionnez Any. Les autres sections sont définies à Don't Care afin de généraliser le plus possible cette règle. Ensuite arrive le champ Set From dans lequel vous allez entrer votre véritable adresse de courriel. Tous les autres champs de texte peuvent rester vides. La règle doit s'appliquer pour tout message, que ce soit pour le Reply Use, le Forward Use et le Compose Use. Vous pouvez sélectionner pour ces trois catégories With Confirmation pour savoir quand est utilisée la règle. Validez ensuite le tout avec E, puis un autre E pour revenir au menu principal.
Maintenant, lorsque vous taperez C, le logiciel affichera au bas de l'écran un message du genre Use role "Alternate Role" for Compose ?, répondez oui et votre adresse source sera correcte.
Bon, c'est bien beau tout ça, mais comment faire pour recevoir des messages? On va encore retourner dans Setup. Appuyez sur S puis sur C, le tout consiste à assigner une nouvelle valeur à inbox-path. Mais au lieu d'un chemin local, donnons-lui {serveur/user=login} où serveur est le nom du serveur et login constitue votre nom d'usager sur le serveur de courriel IMAP ou POP3! Eh oui, cela va remplacer la boîte de réception locale par la boîte sur le serveur.
En mode IMAP, tout cela fonctionne merveilleusement bien, mais pas en POP3. En effet, le protocole POP3 est conçu pour une lecture hors ligne et Pine s'en servira pour lire en ligne. Il ne pourra pas télécharger les messages du serveur vers un dossier local, ni indique s'il y a de nouveaux messages. La connexion sera aussi maintenue tout au long de la lecture des messages, ce qui n'est pas usuel dans le cas du POP3 où on se connecte sur le serveur afin de télécharger les messages uniquement. Pour télécharger des messages du serveur, vous devrez utiliser un autre programme, tel fetchmail. Un autre problème: le mot de passe est demandé à chaque ouverture de Pine. Pour remédier, il y aurait probablement moyen de passer le mot de passe dans les paramètres, mais ce serait en clair et donc insécure!
Un autre problème: si vous utilisez des dossiers IMAP, vous ne pourrez pas y accéder depuis Pine... à moins que... Eh oui, encore le Setup!!! :) Cette fois, à partir du menu principal, tapez S pour Setup et L pour Collections. Cela mène aux collections de dossiers et on va y en rajouter une seconde! Tapez A pour ajouter une nouvelle collection et remplissez les champs demandés. Vous devrez donner un nom à la collection (nickname), le champ Server contiendra le nom du serveur IMAP suivi d'un / puis de user=login. Path et View peuvent demeurer vides. Validez le tout avec CTRL-x puis E. Et voilà, Pine est configuré maintenant!
Il reste toutefois un détail si vous utilisez Sendmail plutôt qu'un serveur SMTP. Lorsque vous envoyez quelque chose, Sendmail place le message dans une file d'attente qui est vidée périodiquement. Avant d'éteindre votre ordinateur, vous devriez donc vérifier si cette file est vide. Ce qui se fait en utilisant la commande mailq. Voici un exemple d'appel.
[eric@faucondefer eric]$ mailq /var/spool/mqueue (1 request) ----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------ f53NOLx01444* 3088 Sun Jun 3 19:24 <eric.buist@UMontreal.CA> 8BITMIME <msto@smartnet.ca> [eric@faucondefer eric]$
On voit ici que la file contient un message et que si on éteignait l'ordinateur, le message pourrait être perdu pour bien longtemps. Un tel message m'est revenu quelques jours plus tard avec message d'erreur du Mail Delivery Subsystem. Et voici un exemple de file vide.
[eric@faucondefer eric]$ mailq /var/spool/mqueue is empty [eric@faucondefer eric]$
Ce qui conclut cette longue aventure au coeur du système de courriel Linux. Il y en aurait beaucoup encore à dire, mais cela ne finirait jamais... Sendmail constitue un logiciel complexe qui fait peur et il y a beaucoup de façons de le configurer. Il doit également exister une façon de définir au niveau système l'adresse e-mail de façon à pouvoir envoyer avec d'autres programmes que Pine. En effet, tout envoi avec Emacs ou KMail en utilisant Sendmail a été couronné d'un échec!
Version utilisée: | 0.6.5 |
Avantages: |
|
Inconvénients: |
|
Ce programme permet de consulter son courriel sous X, sa configuration se fait simplement par des boîtes de dialogue. Son installation s'est résumée à le télécharger puis à le compiler en suivant les instructions données avec le package. La configuration s'est faite lors du premier démarrage du programme et peut être modifier par l'intermédiaire du menu Tools.
Version utilisée: | 1.0 |
Avantages: |
|
Inconvénients: |
|
Mozilla constitue un navigateur Open Source sur lequel se basent les nouvelles versions 6 et 7 de Netscape Navigator. Il implante très bien les standards du moment (JavaScript, DHTML, CSS, ...) et bénéficie d'une stabilité supérieure à Netscape 4. Son moteur de rendu HTML peut être mis à la disposition de l'internaute pour envoyer/recevoir des courriels hauts en couleur.
Le module de courriel de Mozilla est très complet, plus complet même qu'Outlook Express sous Windows. Ses fonctions HTML sont plus étendues et permettent d'ajouter un peu d'effets spéciaux aux messages. Ce n'est pas du LaTeX, mais c'est tout de même mieux que de l'ASCII pur. J'apprécie tout particulièrement la possibilité d'insérer des passages en fonte fixe comme celui-ci, des tableaux et du code HTML défini par l'utilisateur.
Mozilla Mail est relativement facile à configurer et supporte les protocoles POP3 et IMAP. Le temps de démarrage est un peu plus long qu'avec Pine, mais ses fonctionnalités en valent la peine. L'utilisation est aussi plus facile que sous Netscape.
Mozilla est installé avec toutes les nouvelles distributions de Linux, dont en particulier RedHat 7.3. C'est un outil qui en vaut le coup, il a pu pour moi remplacer Pine, Netscape et même Konqueror qui faisaient des caprices avec les fontes. Mozilla éprouve quelques problèmes occasionnels de ce côté, mais ils sont moins prononcés qu'avec d'autres navigateurs.