Linux et le Courrier Electronique - HOWTO <author>Vince Skahan, <tt><vince@victrola.wa.com></tt> <abstract> Cette documentation décrit l'installation et l'administration du Courrier Electronique (e-mail) sous Linux. Vous avez besoin de lire ceci si vous projetez de communiquer localement ou avec des sites éloignés en utilisant le courrier électronique. Vous n'avez probablement <em>*pas*</em> besoin de lire cette documentation si vous n'échangez pas de courrier électronique avec d'autres utilisateurs sur votre système ou avec d'autres sites. </abstract> <toc> <sect>Introduction <p> L'objectif de ce document est de répondre à certaines questions et commentaires qu'on peut rassembler sous la définition de `questions fréquemment posées' (faq) à propos du courrier électronique (e-mail) sous Linux. Ce document, et les `HOWTO' UUCP et News correspondants, remplacent collectivement la FAQ UUCP-NEWS-MAIL qui était précédemment postée dans comp.os.linux.announce. <sect1>Nouvelles versions de ce document <p> De nouvelles versions de cette documentation seront postées périodiquement dans comp.os.linux.announce, comp.answers et news.answers. Elles seront également ajoutées aux divers sites ftp anonymes qui archivent de telles informations, notamment <tt>sunsite.unc.edu:/pub/Linux/docs/HOWTO</tt>. <sect1>Commentaires <p> Je suis intéressé par toute réaction, positive ou négative, concernant le contenu de ce document par e-mail. N'hésitez pas à me contacter si vous décelez des erreurs ou des omissions évidentes. Je lis, mais ne répond pas nécessairement, à tout courrier que je reçois. Les requêtes pour des ajouts seront considérées et effectuées selon la combinaison dans la journée du temps libre, du mérite de la requête et de ma pression artérielle :-) Les insultes seront orientées vers /dev/null en douceur, donc ne vous fatiguez pas. Les remarques concernant le format actuel de ce document sont à adresser au coordinateur des HOWTO - Matt Welsh (<tt>mdm@sunsite.unc.edu</tt>). <sect1>Information sur les droits d'auteur <p> Le Mail-HOWTO est copyright (c)1994 Vince Skahan. Une copie exacte peut être reproduite ou distribuée sur tout média physique ou électronique sans permission de l'auteur. Les traductions sont permises de la même façon sans autorisation explicite si elles indiquent qui a effectué la traduction. De courtes citations peuvent être utilisées sans consentement préalable de l'auteur. Le travail dérivé et les distributions partielles de Mail-HOWTO doivent être accompagnées soit d'une copie exacte de l'original, soit d'une indication de son emplacement. La redistribution commerciale est autorisée et encouragée; cependant, l'auteur désire être averti de telles distributions. En résumé, nous souhaitons promouvoir la dissémination de ces informations à travers autant de canaux que possible. Cependant, nous souhaitons conserver un copyright sur les documents HOWTO, et aimerions être averti de toute forme de redistribution des HOWTOs. Mieux, nous souhaitons que TOUTE information présente dans les HOWTOs soit disséminée. Si vous avez des questions, merci de contacter Matt Welsh, le coordinateur des Linux HOWTO à <tt>mdw@sunsite.unc.edu</tt>, ou au +1 607 256 7372. <sect1>Responsable mais pas coupable <p> Bien entendu, je décline toute responsabilité potentielle pour le contenu de cette documentation. L'utilisation des concepts, exemples, et/ou autre contenu de ce document est entièrement à vos propres risques. <sect1>Autres sources d'information <p> <sect2>Documents LINUX HOWTO <p> Il existe beaucoup de renseignements exceptionnels dans les autres documentations Linux HOWTO et provenant du projet Linux DOC. En particulier, vous pourrez jeter un oeil à ceux-ci : <itemize> <item>Les Communications Séries HOWTO <item>Ethernet HOWTO <item>Le Guide de l'Administration Réseau pour Linux </itemize> <sect2>USENET <p> <verb> comp.mail.elm Le système de courrier électronique ELM. comp.mail.mh Le système de manipulation de messages de Rand. comp.mail.mime Extensions Internet Multifonctions pour le Mail. comp.mail.misc Discussions générales sur le courrier électronique. comp.mail.multi-media Mail MultiMédia. comp.mail.mush Le Shell pour l'utilisateur de Mail (MUSH). comp.mail.sendmail L'agent sendmail de BSD. comp.mail.smail L'agent de mail smail. comp.mail.uucp Mail dans l'environnement uucp. </verb> <sect2>Livres <p> La liste suivante est une liste non-exhaustive des livres qui peuvent aider... <itemize> <item><sq><tt>Managing UUCP and USENET</tt></sq> de O'Reilly and Associates, est à mon avis le meilleur livre existant pour comprendre les programmes et protocoles impliqués lors de la création d'un site USENET. <item><sq><tt>Unix Communications</tt></sq> de The Waite Group contient une bonne description de tous les éléments (et plus) et comment ils s'harmonisent entre eux. <item><sq><tt>Sendmail</tt></sq> de O'Reilly and Associates semble être la référence définitive sur sendmail-v8 et sendmail+IDA. C'est un livre indispensable pour quiconque espérant trouver un sens à sendmail sans perdre progressivement toute son énergie. <item><sq><tt>The Internet Complete Reference</tt></sq> de Osborne est un bon ouvrage de référence qui explique les divers services accessibles sur Internet et est une bonne source d'informations sur les news, le mail et d'autres resources variées d'Internet. </itemize> <sect1>Où ne *PAS* rechercher de l'aide <p> Il n'y a (plus) rien de particulier pour configurer et utiliser le mail sous Linux. De ce fait, vous ne voudrez certainement *PAS* poster des questions générales à propos du mail dans les newsgroups comp.os.linux.*. A moins que votre question ne soit vraiment spécifique à Linux (comme par exemple, <sq>merci de m'indiquer quels sont les routers déjà compilés dans la version de smail3.1.28 présente dans la SLS 1.03</sq>) vous devriez poser vos questions dans un des newsgroups ou mailing lists référencés ci-dessus. Laissez-moi répéter ceci. Il n'y a pratiquement plus aucune raison de poster quoi que ce soit de relatif au mail dans la hiérarchie comp.os.linux.*. Il existe des newsgroups dans la hiérachie comp.mail.* qui supportent *TOUTES* vos questions. <em> SI VOUS POSTEZ DANS COMP.OS.LINUX.* POUR DES QUESTIONS NON SPECIFIQUES A LINUX, VOUS RECHERCHEZ DE L'AIDE AU MAUVAIS ENDROIT. LES EXPERTS DU COURRIER ELECTRONIQUE SE TROUVENT DANS LES PLACES INDIQUEES PLUS HAUT ET GENERALEMENT N'UTILISENT PAS LINUX. </em> <em> POSTER DANS LA HIERARCHIE LINUX POUR DES QUESTIONS NON SPECIFIQUES A LINUX VOUS FAIT PERDRE DU TEMPS AINSI QU'A TOUT LE MONDE... ET FREQUEMMENT CELA VOUS RETARDE DANS L'OBTENTION D'UNE REPONSE A VOTRE QUESTION. </em> <sect>Matériel Requis <p> Il n'y a pas de matériel spécifique requis pour le mail sous Linux. Vous allez avoir besoin d'une sorte de logiciel de `transport' pour vous connecter à des systèmes éloignés, ce qui signifie tcp-ip ou uucp. Cela peut signifier que vous allez avoir besoin d'un modem ou d'une carte ethernet (selon votre configuration). <sect>Obtenir les logiciels <p> En général, j'obtiens mes sources de <tt>ftp.uu.net</tt> et d'autres bons sites archive sur Internet. De plus, des portages binaires spécifiques pour Linux se trouvent dans les distributions usuelles de Linux et sur les sites ftp anonymes Linux (<tt>sunsite.unc.edu</tt> et <tt>tsx-11.mit.edu</tt> en particulier). La distribution <tt>newspak-2.2.tar.z</tt> contient des fichiers de configuration et des readme concernant l'installation de logiciels pour uucp, les news et le mail sous Linux, à partir de diverses sources librement accessibles. Elle se trouve habituellement en <tt>sunsite.unc.edu:/pub/Linux/system/Mail</tt>. <sect>Agents de Transport du Mail <p> Cette section contient des informations concernant les `agents de transport', qui désignent la couche logicielle de bas niveau qui connecte votre système local aux systèmes distants. <sect1>Smail v3.1 <p> Smail3.1 semble être un agent de transport standard <em>de facto</em> pour les sites uniquement uucp et quelques sites smtp. Il compile sans modification du code source. De plus, smail est distribué sous forme binaire dans la distribution SLS de Linux. La distribution newspak contient des fichiers de configuration pour smail3.1.28 sous Linux que vous pouvez utiliser pour commencer. Si vous construisez smail à partir des sources, vous aurez besoin de la ligne suivante dans votre fichier os/linux pour que `sed' vous donne des shell scripts qui fonctionnent correctement. <verb> CASE_NO_NEWLINES=true </verb> Pour un système uniquement uucp qui a un MX-record et qui veut un en-tête domainisé (qui utilise un smart-host pour tout), voici les fichiers de configuration complets dont vous aurez besoin : <itemize> <item>remplacez `sous_domaine.domaine' par votre nom de domaine <item>remplacez `mon_nom_de_site' par votre nom de site non-domainisé <item>remplacez `mon_voisin_uucp' par le nom uucp de votre serveur dédié </itemize> <verb> #-------- /usr/local/lib/smail/config ----------------------------- # # domaines auxquels nous appartenons visible_domain=sous_domaine.domaine:uucp # # par quel nom complet nous sommes connus (fully-qualified-site-name) visible_name=mon_nom_de_site.sous_domaine.domaine # # par qui nous passons - serveur dédié smart_path=mon_voisin_uucp # #---------- /usr/local/lib/smail/paths ---------------------------- # # le site est domainisé, soyons certains d'accepter le courrier # adressé aux deux noms mon_nom_de_site %s mon_nom_de_site.sous_domaine.domaine %s # #------------------------------------------------------------------ </verb> Pour utiliser smail comme un démon smtp, ajoutez la ligne suivante dans /etc/inetd.conf: <verb> smtp stream tcp nowait root /usr/bin/smtpd smtpd </verb> Le courrier sortant sera envoyé automatiquement, en utilisant elm. Si votre liaison internet est coupée quand vous envoyez un courrier, alors il est placé dans <tt>/usr/spool/smail/input</tt>. Quand la liaison sera rétablie, la lancement de <tt>runq</tt> provoquera l'émission du mail. <sect1>Sendmail+IDA <p> J'ai un site uniquement uucp et j'utilise sendmail5.65b+IDA1.5 à la place de smail3.1.28 à cause de son incroyable facilité d'utilisation. Il en existe une distribution binaire dans <tt>sunsite.unc.edu:pub/Linux/system/Mail</tt>. Pour l'installer : <itemize> <item>vous allez probablement vouloir enlever (ou renommer) tous les fichiers provenant de smail (voir le catalogue /install/installed si vous avez une distribution SLS) pour être prudent. <item>placez-vous à la racine / et tapez <sq>gunzip -c sendmail5.65b+IDA1.5.tpz | tar xvf -</sq>. Si vous possédez une version plus moderne de tar provenant d'une récente Slackware (par exemple) vous pouvez juste utiliser la commande <sq>tar -zxvf filename.tgz</sq> et vous obtiendrez le même résultat. <item>placez-vous dans /usr/local/lib/mail/CF et copiez le fichier d'exemple local.m4 en <sq>votre_nom_de_site.m4</sq>. Modifiez le nom du site, ses alias et le smarthost en indiquant les valeurs correctes pour votre site. Le fichier par défaut est pour les sites seulement uucp qui ont des en-têtes domainisés et qui passent par un smarthost. Ensuite, tapez <sq>make votre_nom_de_site.cf</sq> et placez le fichier résultant dans /etc/sendmail.cf. <item>si vous utilisez seulement uucp, vous n'avez *PAS* besoin de créer les tables mentionnées dans le fichier README.linux. Vous aurez seulement à effectuer un `touch' des fichiers pour que le Makefile fonctionne. Editez uniquement le fichier .m4, construisez sendmail.cf (make sendmail.cf), et commencez à le tester. <item>si vous utilisez seulement uucp et que vous communiquez avec d'autres sites que votre <sq>smart-host</sq>, vous aurez besoin d'ajouter des entrées uucpxtable pour chacun d'eux (ou le mail qui leur est destiné passera par le smart host) et lancer dbm avec la uucpxtable modifiée. <item>si vous utilisez ma distribution sendmail5.67b+IDA1.5, vous ne devez pas utilisez un <sq>freeze file</sq>. <item>Si vous utilisez la distribution binaire originale de la version 5.67a par Rich Braun, vous devrez `geler' la configuration si vous changez votre fichier .cf avec <sq>/usr/lib/sendmail -bz</sq> pour que les modifications prennent effet. Vous devriez en outre mettre votre version à jour avec au moins la 5.67b car il y a désagréable un trou de securité dans la 5.67a et les plus anciennes. </itemize> Une autre chose intéressante est que si vous avez l'option mail.debug positionnée et que vous utilisez syslogd, vos messages entrants et sortants seront tracés. Voir le fichier /etc/syslog.conf pour des détails. Le source de sendmail+IDA peut être trouvé à uxc.cso.uiuc.edu. Il ne demande aucune modification pour compiler sous Linux. Si vous pensez utilisez sendmail+IDA, je vous recommande fortement la version sendmail5.67b+IDA1.5 car toutes les modifications spécifiques à Linux sont dorénavent dans les sources originales et plusieurs trous de sécurité ont été fixés, qui ETAIENT (!!!) présents dans l'ancienne version que vous avez peut-être prise ou compilée avant le 1er décembre 1993. L'édition de mai/juin 1994 du <tt>Linux Journal</tt> présente un article conséquent sur l'installation et l'administration de sendmail+IDA. La prochaine sortie du <tt>Networking Administration Guide</tt> du Linux DOC Project en aura une description encore plus détaillée et complête. <sect2>Le fichier sendmail.m4 <p> Sendmail+IDA vous demande de mettre à jour un fichier <tt>sendmail.m4</tt> plutôt qu'éditer le fichier <tt>sendmail.cf</tt> directement. L'avantage de cette méthode est qu'il est simple de mettre sur pied des configurations pour le mail qui sont extrêmement difficiles (voire totalement impossible pour la plupart des personnes) avec smail ou le traditionnel sendmail. Le fichier sendmail.m4 qui correspond à l'exemple donné plus haut pour smail, ressemble à ceci : <verb> dnl #------------------ EXEMPLE DE FICHIER SENDMAIL.M4 ------------------ dnl # dnl # (la chaîne `dnl' est l'équivalent en m4 d'une ligne de commentaire) dnl # dnl # on ne veut généralement pas modifier LIBDIR des chemins compilés où sont dnl #define(LIBDIR,/usr/local/lib/mail)dnl # tous les fichiers de # configuration define(LOCAL_MAILER_DEF, mailers.linux)dnl # mailer pour délivrance locale define(POSTMASTERBOUNCE)dnl # postmaster gets bounces define(PSEUDODOMAINS, BITNET UUCP)dnl # ne pas essayer DNS sur ceux-ci dnl # dnl #------------------------------------------------------------- dnl # dnl # les noms sous lesquels nous sommes connus define(PSEUDONYMS, myhostname.subdomain.domain myhostname.UUCP) dnl # dnl # notre nom primaire define(HOSTNAME, myhostname.subdomain.domain) dnl # dnl # notre nom uucp define(UUCPNAME, myhostname)dnl dnl # dnl #------------------------------------------------------------- dnl # define(UUCPNODES, |uuname|sort|uniq)dnl # nos voisins uucp define(BANGIMPLIESUUCP)dnl # soyons certains que le mail define(BANGONLYUUCP)dnl # uucp soit correctement traité define(RELAY_HOST, my_uucp_neighbor)dnl # notre smart relay host define(RELAY_MAILER, UUCP-A)dnl # nous joignons moria par uucp dnl # dnl #-------------------------------------------------------------------- dnl # dnl # les diverses dbm lookup tables dnl # define(ALIASES, LIBDIR/aliases)dnl # alias système define(DOMAINTABLE, LIBDIR/domaintable)dnl # sites domainisés define(PATHTABLE, LIBDIR/pathtable)dnl # base de donnée des chemins define(GENERICFROM, LIBDIR/generics)dnl # adresses génériques define(MAILERTABLE, LIBDIR/mailertable)dnl # mailers par site ou domaine define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # chemins vers les sites # que nous feedons define(UUCPRELAYS, LIBDIR/uucprelays)dnl # chemins court-circuités dnl # dnl #-------------------------------------------------------------------- dnl # dnl # inclure le `véritable' code qui fait tout fonctionner dnl # (inclus dans le code source) dnl # include(Sendmail.mc)dnl # LIGNE INDISPENSABLE !!! dnl # dnl #------------ FIN DE L'EXEMPLE DE FICHIER SENDMAIL.M4 ------- </verb> <sect2> Définir un mailer local <p> Contrairement à la plupart des distributions Unix, Linux ne propose pas d'agent de délivrance du mail local par défaut. Je recommande l'utilisation du programme <tt>deliver</tt> communément disponible, qui est un paquetage optionnel dans certaines distributions Linux usuelles. Pour ce faire, vous aurez besoin de définir une ligne <tt>LOCAL_MAILER_DEF</tt> dans le fichier <tt>sendmail.m4</tt> qui nommera un fichier qui ressemble à ceci : <verb> # -- /usr/local/lib/mail/mailers.linux -- # (mailers locaux pour l'utilisation avec Linux) Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=10, A=sh -c $u </verb> Il y a aussi une option par défaut pour <tt>deliver</tt> dans le fichier <tt>Sendmail.mc</tt> qui est inclus dans le fichier <tt>sendmail.cf</tt>. Pour l'utiliser, vous ne devez pas utiliser le fichier <tt>mailers.linux</tt> mais définir à la place la ligne suivante dans votre fichier sendmail.m4 : <verb> dnl --- (dans sendmail.m4) --- define(LOCAL_MAILER_DEF, DELIVER)dnl # mailer pour la délivrance locale </verb> Malheureusement, Sendmail.mc suppose que deliver est installé dans /bin, ce qui n'est pas le cas avec Slackware1.1.1 (qui l'installe dans /usr/bin). Dans ce cas vous devrez le tromper avec un lien ou reconstruire deliver à partir des sources pour qu'il réside dans /bin. <sect2> Les tables dbm pour Sendmail+IDA <p> La mise en place des facilités spéciales pour des sites ou des domaines s'effectue à travers un nombre de tables <tt>dbm</tt> optionnelles plutôt que d'éditer les fichier <tt>sendmail.cf</tt> directement. Référez-vous au numéro de juillet 1994 du <tt>Linux Journal</tt>, aux documentations dans les sources, ou au chapitre sur sendmail dans la nouvelle version du <tt>Networking Administration Guide</tt> du Linux DOC Project qui sera disponible, dans très peu de temps maintenant, pour plus de détails. <itemize> <item>mailertable - définit des facilités spéciales pour des sites distants ou des domaines. <item>uucpxtable - force la délivrance en UUCP de mail pour des sites qui sont dans le format DNS. <item>pathtable - définit des chemins bang UUCP pour des sites distants ou des domaines. <item>uucprelays - court-circuite les chemins de pathalias pour des sites distants particuliers. <item>genericfrom - convertit des adresses internes en des adresses génériques visibles du monde extérieur. <item>xaliases - convertit des adresses génériques en/vers des adresses internes valides. <item>decnetxtable - convertit des adresses RFC-822 en des adresses de type DECnet. </itemize> <sect2> Quelles sont les Entrées Réellement Nécessaires ? <p> Quand on n'utilise aucune des tables dbm optionnelles, sendmail+IDA délivre le courrier via le <tt>DEFAULT_MAILER</tt> (et peut-être <tt>RELAY_HOST</tt> et <tt>RELAY_MAILER</tt>) défini dans le fichier sendmail.m4 utilisé pour générer sendmail.cf. Il est facilement possible d'outrepasser cette facilité avec des entrées dans domaintable et uucpxtable. Un site générique qui est sur Internet et qui utilise le Domain Name Service, ou un autre qui utilise seulement UUCP et transfère tout son courrier via UUCP à un <tt>RELAY_HOST</tt>, n'ont probablement pas besoin du tout d'entrées spécifiques dans ces tables. Logiquement, tous les systèmes devraient positionner les macros <tt>DEFAULT_HOST</tt> et <tt>PSEUDONYMS</tt>, qui définissent le nom canonique du site et les alias sous lesquels il est connu, et <tt>DEFAULT_MAILER</tt>. Si vous n'avez qu'un site relai et un relay mailer, vous n'aurez pas besoin de définir ces valeurs par défaut car cela fonctionnera automagiquement. Les sites UUCP auront aussi besoin de positionner <tt>UUCPNAME</tt> à leur nom UUCP officiel. Ils positionneront aussi <tt>RELAY_MAILER</tt>, et <tt>RELAY_HOST</tt> qui autorise le routage vers le smart-host à travers un mail relay. Le transport de mail à utiliser est défini avec <tt>RELAY_MAILER</tt> et devrait normalement être UUCP-A pour les sites UUCP. Si votre site est seulement SMTP et connaît le `Domain Name Service', vous devrez changer le <tt>DEFAULT_MAILER</tt> à TCP-A et probablement effacer les lignes <tt>RELAY_MAILER</tt> et <tt>RELAY_HOST</tt>. <sect1>Sendmail 8.6 <p> Sendmail 8.6.x de Berkeley est la dernière révision majeure après sendmail5. Il contient un excellent support pour la compilation sous Linux. Tapez juste <sq>make linux</sq> et tout sera configuré. <sect1>Autres <sq>agents de transport</sq> <p> Les logiciels suivants sont aussi connus pour fonctionner sous Linux. Consultez <sq>archie</sq> pour trouver les détails de leur emplacement... <itemize> <item> smail2.5 - un smail très simple basé sur UUCP </itemize> <sect1>Agents de Distribution Locaux <p> Contrairement à la plupart des systèmes d'exploitation, Linux ne propose pas le mail en standard. Vous aurez besoin d'un programme pour distribuer le mail local. Le programme <sq>lmail</sq> de Rich Braun en est un bon, mais j'utilise maintenant le programme <sq>deliver</sq>, plus répandu et accessible. La documentation pour l'utilisation et la distribution locale est dans la distribution binaire de sendmail5.67b+IDA1.5 (sur sunsite) mentionnée plus haut. <sect>Agents Utilisateur du Mail <p> Cette section contient des informations concernant les <sq>agents utilisateurs</sq>, qui désignent les logiciels que l'utilisateur voit et utilise. Ces logiciels dépendent des <sq>agents de transports</sq> mentionnés plus haut. <sect1>Elm <p> Elm compile, s'installe et tourne parfaitement sous Linux jusqu'à et y compris Slackware 1.1.1 (gcc2.4.5, gcclib 4.4.4). Pour plus d'informations, voir les sources d'elm et les instructions d'installation. La seule chose à savoir est que le script Configure d'Elm positionne incorrectement la variable <sq>ranlib</sq> dans config.sh. L'équipe de développement d'Elm a été informée de ce petit problème, et donc ne les dérangez pas pour ceci (une nouvelle fois). <itemize> <item> (de <em> Chip Rosenthal - chip@chinacat.unicom </em>) La façon la plus simple pour contourner ce problème est de créer un fichier appelé <tt>config.over</tt> au premier niveau de vos sources Elm et d'y inclure la ligne : <verb> ranlib='ranlib' </verb> <item> Autrement, pour pouvez juste vous rappeler d'éditer correctement la ligne dans config.sh quand Configure vous donne la chance de le faire. <item> Elm et filter ont besoin d'être en mode 2777 (groupe mail) avec /usr/spool/mail en mode 775 et de groupe mail. </itemize> Si vous utilisez une distribution binaire, vous aurez besoin de créer un fichier /usr/local/lib/elm/elm.rc pour contourner les informations de nom de machine et de domaine compilés dans les binaires : <itemize> <item>remplacez <sq>sous_domaine.domaine</sq> par votre nom de domaine remplacez <item><sq>ma_machine</sq> par votre nom de machine non-domainisé remplacez <item><sq>mon_voisin_uucp</sq> par le nom uucp de votre site en amont (celui qui vous feede) </itemize> <verb> #---------- /usr/local/lib/elm/elm.rc ------------------ # # ceci est le nom de la machine non qualifié hostname = ma_machine # # ceci est le domaine local hostdomain = sous_domaine.domaine # # ceci est le nom de la machine complet (fully qualified hostname) hostfullname = ma_machine.sous_domaine.domaine # #-------------------------------------------------------- </verb> Une chose à savoir est que si vous avez compilé Elm de façon à gérer MIME, vous devez avoir metamail installé et dans votre path sinon Elm ne sera pas capable de lire les messages MIME que vous recevrez. Metamail est disponible sur thumper.bellcore.com et bien sûr via <sq>archie</sq>. Il nous a été rapporté que les versions de gcc et gcclib plus récentes que v2.4.5 et v4.4.4, respectivement, sont assez strictes et n'arrivent pas à compiler Elm. Voici la nouvelle telle que l'a annoncée <em> ccnp@unitrix.utr.ac.za (Neil Parker) </em> qui reposta un message de <em> longyear@netcom.com (Al Longyear). </em> <itemize> <item> ELM utilise des champs internes dans la structure FILE pour essayer de se passer des standards. (Les champs _flag, _IOERR et _IOEOF sont d'anciens champs pour le paquetage pre-POSIX de runtime. Bien que POSIX ne dise pas que l'on ne peut pas référencer ces champs, il ne dit pas que vous _devez_ les utiliser. Linux ne les utilise pas. Il est dit que les programmes ne devraient pas y faire appel, même s'ils sont présents dans l'implémentation.) <verb> où il est écrit if (fp->_flag && _IOERR) ... changez en if (ferror(fp)) .... où il est écrit if (fp->_flag & _IOEOF) ... changez en if (feof(fp)) ... Ce sont les définitions ANSI/POSIX pour les mêmes fonctions. </verb> <item> Bien que cette remarque ne soit pas spécifique à Linux, c'est néanmoins un bug tenace. Nous avons entendu que parfois Elm plante avec un message disant qu'il est incapable d'allouer une grande place mémoire. Cela a été identifié comme un bug d'Elm. La solution connue est d'enlever les alias globaux de mail après traitement (aliases.dir et aliases.pag). </itemize> <itemize> <item> (de <em> scot@catzen.gun.de (Scot W. Stevenson) </em>) Le paquetage actuel de metamail demande csh pour quelques-uns de ses scripts. L'absence de csh (ou de tcsh) causera le plus grand nombre d'erreurs intéressantes... </itemize> <sect1>Mailx <p> Il existe une bonne implémentation binaire de mailx placée sur les divers sites d'archive Linux. Soyez sûr de prendre la version 5.3b ou plus récente car il y a des problèmes de sécurité dans la version 5.3a. Si vous souhaitez le compiler à partir des sources, mailx v5.5 compile sans modification sous Linux si vous avez <tt>pmake</tt> installé. L'unique problème potentiel que je connais avec la distribution binaire sur sunsite est qu'elle semble avoir été compilée de façon à utiliser /usr/lib/smail plutôt qur /usr/lib/sendmail comme agent de transport. Vous aurez certainement besoin d'un lien si vous utilisez sendmail sur votre système. Si quelqu'un l'utilise toujours, je recommande vivement de détruire le vieux paquetage <sq>edmail</sq> de la SLS 1.00 et de le remplacer par mailx. <sect1>Autres agents utilisateur <p> Les logiciels suivants sont aussi connus pour fonctionner sous Linux. Consultez <sq>archie</sq> pour obtenir des détails sur comment les trouver... <itemize> <item>Pine - de l'Université de Washington <item>Metamail - permet le support de MIME <item>mh - encore une autre possibilité pour gérer le mail <item>deliver - classement/gestion du courrier selon des règles <item>procmail - classement/gestion du courrier selon des règles <item>Majordomo - gère des listes e-mail (listes de distribution) <item>Mserv - permet des requêtes de fichiers par mail </itemize> <sect>Remerciements <p> Les personnes suivantes m'ont aidés dans le regroupement des informations (et par leur expérience) qui a rendu cette documentation possible : Steve Robbins, Ian Kluft, Rich Braun, Ian Jackson, Syd Weinstein, Ralf Sauther, Martin White, Matt Welsh, Ralph Sims, Phil Hughes, Chip Rosenthal, Scot Stevenson, Neil Parker Toutes mes excuses si j'ai oublié quelqu'un... </article>