11.3. Agent de transfert de courrier (ATC)

Red Hat Enterprise Linux comprend deux agents de transfert de courrier primaires (ou MTA), à savoir Sendmail et Postfix. Sendmail est configuré comme l'agent de transfert par défaut, bien qu'il soit possible de remplacer facilement cette valeur par Postfix.

TuyauAstuce
 

Pour savoir comment changer la valeur par défaut d'un ATC de Sendmail à Postfix, reportez-vous au chapitre intitulé Configuration de l'Agent de transfert de courrier (ATC) du Guide d'administration système de Red Hat Enterprise Linux.

11.3.1. Sendmail

La tâche principale de Sendmail est de déplacer de façon sécurisée des messages électroniques entre des hôtes, utilisant généralement le protocole SMTP. Toutefois, Sendmail est hautement configurable, ce qui vous permet de contrôler presque tous les aspects du traitement des messages, y compris le protocole à utiliser. De nombreux administrateurs système choisissent d'utiliser Sendmail comme ATC en raison de sa puissance et de sa modulabilité.

11.3.1.1. Objectif et limites

Il est important de bien comprendre ce qu'est Sendmail et ce qu'il peut faire, de même que ce qu'il n'est pas. En cette période d'applications monolithiques jouant des rôles multiples, on pourrait penser que Sendmail est la seule application nécessaire pour exécuter un serveur de messagerie au sein d'une organisation. Techniquement parlant, ceci est vrai car Sendmail peut spouler du courrier sur vos répertoires utilisateur et accepter de nouveaux messages sortant pour les utilisateurs. Cependant, la plupart des utilisateurs désirent bien plus que le simple acheminement du courrier. Ils veulent en général interagir avec le courrier électronique à l'aide d'un AGC qui utilise POP ou IMAP pour télécharger leurs messages sur leur ordinateur local. Ou alors, ils pourraient préférer une interface Web pour avoir accès à leur boîte à lettres. Ces autres applications fonctionnent de concert avec Sendmail et SMTP, mais existent en réalité pour différentes raisons et peuvent fonctionner indépendemment les unes des autres.

L'explication de tout ce que Sendmail devrait et pourrait faire en fonction de sa configuration va bien au-delà de la portée de cette section. Étant donné le nombre d'options différentes et de réglages possibles, des volumes entiers ont été écrits pour expliquer toutes les possibilités de Sendmail et les façons de régler d'éventuels problèmes. Reportez-vous à la Section 11.6 pour obtenir une liste des ressources dédiées à Sendmail.

Cette section passe en revue les fichiers installés avec Sendmail par défaut et examine certaines modification de configuration élémentaires, y compris comment éviter de recevoir du pourriel (spam) et comment augmenter les capacités de Sendmail avec le protocole Lightweight Directory Access Protocol (LDAP).

11.3.1.2. Installation de Sendmail par défaut

Le fichier exécutable de Sendmail est /usr/sbin/sendmail.

Le fichier de configuration de Sendmail, long et détaillé, est /etc/mail/sendmail.cf. Évitez d'éditer le fichier sendmail.cf directement. Pour apporter des modification à la configuration, éditez plutôt le fichier /etc/mail/sendmail.mc, sauvegardez le fichier original /etc/mail/sendmail.cf et utilisez ensuite le macroprocesseur m4 qui est inclus pour créer un nouveau fichier /etc/mail/sendmail.cf. De plus ample informations sur la configuration de Sendmail sont disponibles dans la Section 11.3.1.3.

Divers fichiers de configuration Sendmail sont installés dans /etc/mail/, notamment:

  • access — Spécifie les systèmes qui peuvent utiliser Sendmail pour le courrier électronique sortant.

  • domaintable — Spécifie le mappage de noms de domaine.

  • local-host-names — Spécifie les alias de l'hôte.

  • mailertable — Spécifie des instructions qui écrasent le routage de domaines spécifiques.

  • virtusertable — Spécifie une forme de dénomination par alias spécifique au domaine, ce qui permet à des domaines virtuels multiples d'être hébergés sur un ordinateur.

Plusieurs fichiers de configuration placés dans /etc/mail/, tels que access, domaintable, mailertable et virtusertable, doivent en fait stocker leurs informations dans des fichiers de base de données avant que Sendmail puisse appliquer les modifications apportées à la configuration. Pour inclure les changements apportés à ces fichiers de configuration dans leurs fichiers de base de données, vous devez exécutez la commande:

makemap hash /etc/mail/<name> < /etc/mail/<name>

<nom> doit être remplacé par le nom du fichier de configuration à convertir.

Par exemple, pour que tous les messages électroniques destinés au domaine example.com soit envoyés à , ajoutez la ligne reproduite ci-dessous au fichier virtusertable:

@example.com     bob@other-example.com

Pour finaliser cette modification, le fichier virtusertable.db doit être mis à jour à l'aide de la commande suivante, en étant connecté en tant que super-utilisateur:

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable 

Ce faisant, un nouveau fichier virtusertable.db est créé, reflétant la nouvelle configuration.

11.3.1.3. Modifications courantes de la configuration de Sendmail

Lors de la modification du fichier de configuration Sendmail, il est recommandé de générer un tout nouveau un fichier /etc/mail/sendmail.cf plutôt que de modifier un fichier existant.

AttentionAvertissement
 

Avant de modifier le fichier sendmail.cf, il est toujours conseillé d'effectuer une copie de sauvegarde de la version courante du fichier.

Pour ajouter la fonctionnalité désirée à Sendmail, éditez le fichier /etc/mail/sendmail.mc en étant connecté en tant que super-utilisateur. Une fois cette opération terminée, utilisez le macroprocesseur m4 pour générer un nouveau fichier sendmail.cf en exécutant la commande suivante :

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Par défaut, le macroprocesseur m4 est installé avec Sendmail mais fait partie du paquetage m4.

Après avoir créé un nouveau fichier /etc/mail/sendmail.cf, redémarrez Sendmail afin que les modifications soient appliquées. Pour ce faire, la meilleure façon de procéder consiste à taper la commande suivante :

/sbin/service sendmail restart

ImportantImportant
 

Le fichier sendmail.cf par défaut n'autorise pas Sendmail à accepter des connexions réseau venant de tout hôte autre que l'ordinateur local. Afin de configurer Sendmail en tant que serveur pour d'autres clients, éditez /etc/mail/sendmail.mc et changez l'adresse spécifiée dans l'option Addr= de la directive DAEMON_OPTIONS de 127.0.0.1 à l'adresse IP d'un périphérique réseau actif ou supprimez tout simplement les commentaires de la directive DAEMON_OPTIONS en ajoutant dnl au début de la ligne. Une fois ces modifications apportées,régénérez le fichier /etc/mail/sendmail.cf en exécutant la commande suivante :

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

La configuration par défaut incluses dans Red Hat Enterprise Linux pour être utilisée pour la plupart des sites exclusivement SMTP. Toutefois, elle ne fonctionne pas avec des sites utilisant UUCP (de l'anglais UNIX to UNIX Copy). Si l'utilitaire de connexion UUCP UUCP est utilisé pour les transferts, le fichier /etc/mail/sendmail.mc doit être reconfiguré et un nouveau fichier /etc/mail/sendmail.cf doit être généré.

Consultez le fichier /usr/share/sendmail-cf/README avant de modifier tout fichier contenus dans les répertoires sous le répertoire /usr/share/sendmail-cf, car ils peuvent affecter la configuration future de fichiers /etc/mail/sendmail.cf.

11.3.1.4. Masquarade

L'une des configurations courantes de Sendmail est d'avoir un seul ordinateur qui agit comme passerelle de messagerie pour tous les ordinateurs sur le réseau. Par exemple, une société pourrait souhaiter qu'un ordinateur appelé mail.bigcorp.com gère tout son courrier électronique et attribue à tous les messages sortants la même adresse de retour.

Dans ce cas de figure, le serveur Sendmail est obligé de masquer le nom des ordinateurs du réseau de la société de façon à ce que leur adresse de retour soit user@example.com plutôt que user@host.example.com.

Pour ce faire, ajoutez les lignes suivantes à /etc/mail/sendmail.mc:

FEATURE(always_add_domain)dnl
FEATURE(`masquerade_entire_domain')
FEATURE(`masquerade_envelope')
FEATURE(`allmasquerade')
MASQUERADE_AS(`bigcorp.com.')
MASQUERADE_DOMAIN(`bigcorp.com.')
MASQUERADE_AS(bigcorp.com)

Une fois qu'un nouveau sendmail.cf aura été généré à l'aide de m4, cette configuration donnera l'impression que tous les messages envoyés à partir du réseau ont été été envoyés depuis bigcorp.com.

11.3.1.5. Blocage des spams

Les 'spams' (ou pourriel) peuvent être définis comme étant des messages électroniques inutiles et indésirables reçus par un utilisateur qui n'en a jamais fait la demande. Il s'agit d'un abus très perturbateur, coûteux et répandu des normes de communication Internet.

Sendmail rend relativement aisé le blocage des nouvelles techniques utilisées pour envoyer des spams. Il bloque même par défaut, un grand nombre des méthodes d'envoi de spams les plus courantes.

Par exemple, le réacheminement de messages SMTP, aussi appelé retransmission (ou relaying), a été désactivé par défaut à partir de la version 8.9. de Sendmail. Avant que ce changement n'ait lieu, Sendmail dirige l'hôte de messagerie (x.org) de façon à ce qu'il accepte des messages d'un individu (y.com) et les envoie à un autre individu (z.net). Désormais, Sendmail doit être configuré de façon à autoriser un domaine à retransmettre du courrier par le biais du serveur. Pour configurer les domaines de retransmission, éditez le fichier /etc/mail/relay-domains et relancez Sendmail.

Ceci étant, les utilisateurs sont très souvent bombardés de pourriel provenant d'autres serveurs via l'Internet. Dans ce cas, les fonctions de contrôle d'accès de Sendmail, disponibles par l'entremise du fichier /etc/mail/access peuvent servir à empêcher les connexions en provenance d'hôtes indésirables. L'exemple suivant illustre comment utiliser ce fichier pour non seulement bloquer mais également autoriser l'accès au serveur Sendmail:

badspammer.com       ERROR:550 "Go away and do not spam us anymore"
tux.badspammer.com   OK
10.0                 RELAY

Cet exemple stipule que tout message électronique envoyé par badspammer.com doit être bloqué à l'aide d'un code d'erreur 550 conforme à la norme RFC-821 et qu'un message doit être renvoyé à l'expéditeur de pourriel. Le courrier envoyé par le sous-domaine tux.badspammer.com peut en revanche être accepté. La dernière ligne montre que tout message envoyé depuis le réseau 10.0.*.* peut être retransmis au moyen du serveur de messagerie.

Étant donné que /etc/mail/access.db est une base de données, vous devez utiliser makemap pour activer toute modification. Pour ce faire, tapez la commande suivante en étant connecté en tant que super-utilisateur:

	  
makemap hash /etc/mail/access < /etc/mail/access 

Cet exemple n'illustre qu'une toute petite partie du potentiel de Sendmail en termes d'autorisation ou d'interdiction d'accès. Reportez-vous au document /usr/share/doc/sendmail/README.cf pour obtenir de plus amples renseignements et d'autres exemples sur le sujet.

Étant donné que Sendmail fait appel à l'ADC Procmail pour la livraison de courrier, il est également possible d'utiliser un programme de filtrage de pourriel comme SpamAssassin, pour identifier et classer ce type de courrier à la place de l'utilisateur. Reportez-vous à la Section 11.4.2.6 pour obtenir de plus amples informations sur l'utilisation de du programme SpamAssassin.

11.3.1.6. Utilisation de Sendmail avec LDAP

L'utilisation de Lightweight Directory Access Protocol (LDAP) est une façon très rapide et puissante de trouver des informations spécifiques sur un utilisateur particulier appartenant à un grand groupe. Par exemple, un serveur LDAP peut servir à chercher une adresse électronique spécifique dans un répertoire d'entreprise à partir du nom de famille de l'utilisateur. Pour ce genre de mise en application, LDAP est en grande partie séparé de Sendmail; LDAP stocke les informations hiérarchiques des utilisateurs alors que Sendmail ne s'occupe que de recevoir le résultat de la recherche LDAP par le biais de messages électroniques pré-adressés.

Toutefois, Sendmail prend en charge une intégration beaucoup plus grande avec LDAP, là où il utilise LDAP pour remplacer des fichiers maintenus séparément, tels que aliases et virtusertables, sur divers serveurs de messagerie qui fonctionnent ensemble pour prendre en charge une organisation de taille moyenne ou supérieure. En bref, LDAP fait abstraction du niveau de routage du courrier depuis Sendmail et ses fichiers de configuration séparés en un cluster LDAP puissant qui influence de nombreuses autres applications.

La version actuelle de Sendmail comprend la prise en charge pour LDAP. Pour étendre votre serveur Sendmail à l'aide de LDAP, prenez d'abord un serveur LDAP, tel que OpenLDAP, opérationnel et correctement configuré. Ensuite, modifiez votre fichier /etc/mail/sendmail.mc pour y inclure les éléments suivants:

LDAPROUTE_DOMAIN('yourdomain.com')dnl
FEATURE('ldap_routing')dnl

NoteRemarque
 

Ceci ne s'applique qu'à une configuration très élémentaire de Sendmail avec LDAP. La configuration peut être très différente de celle-ci selon votre mise en application de LDAP, en particulier si vous souhaitez configurer plusieurs ordinateurs Sendmail pour qu'ils utilisent un serveur LDAP commun.

Consultez /usr/share/doc/sendmail/README.cf pour obtenir aussi bien des instructions détaillées sur la configuration de routage LDAP que des exemples.

Ensuite, recréez le fichier /etc/mail/sendmail.cf en exécutant m4 et en redémarrant Sendmail. Reportez-vous à la Section 11.3.1.3 pour obtenir des instructions sur la manière de procéder.

Pour davantage d'informations sur LDAP, reportez-vous au Chapitre 13.

11.3.2. Postfix

Mis au point à l'origine chez IBM par Wietse Venema, un programmeur et expert en sécurité, Postfix est un ATC compatible avec Sendmail qui est conçu pour être sécurisé, rapide et facile à configurer.

Afin d'accroître la sécurité, Postfixutilise une conception modulaire dans laquelle de petits processus doté de privilèges limités sont lancés par un démon maître (ou master). Les petits processus dotés de privilèges limités effectuent des tâches très spécifiques en relation avec les différentes étapes de livraison du courrier et sont exécutés dans un environnement 'chrooté' afin de restreindre l'impact des attaques.

Pour configurer Postfix de sorte qu'il accepte des connexions réseau venant d'hôtes autres que l'ordinateur local, il suffit d'apporter quelques modifications mineures dans son fichier de configuration. Pour ceux ayant des besoins plus complexes, Postfix fournit un certain nombre d'options de configuration ainsi que des possibilités d'ajout de tiers qui font de ce dernier un ATC non seulement riche en fonctionnalités mais également très versatile.

Les fichiers de configuration de Postfix are lisibles par tout un chacun et prennent en charge plus de 250 directives. Contrairement à Sendmail, aucun macro-traitement n'est nécessaire pour que les modifications prennent effet et la majorité des options les plus courremment utilisées sont décrites dans le fichier contenant de nombreux commentaires.

ImportantImportant
 

Avant d'utiliser Postfix, il est nécessaire de changer l'ATC par défaut de Sendmail à Postfix. Reportez-vous au chapitre intitulé Configuration de l'Agent de transfert de courrier (ATC) du Guide d'administration système de Red Hat Enterprise Linux pour obtenir des instructions sur la manière de procéder.

11.3.2.1. Installation de Postfix par défaut

L'exécutable de Postfix est /usr/sbin/postfix. Ce démon lance tous les processus connexes nécessaires pour traiter la livraison de courrier.

Postfix stocke ses fichiers de configuration dans le répertoire /etc/postfix/. Ci-après figure une liste des fichiers les plus courremment utilisés :

  • access — Utilisé pour le contôle d'accès, ce fichier spécifie les hôtes qui sont autorisés à se connecter à Postfix.

  • aliases — Une liste configurable nécessaire par le protocole de messagerie.

  • main.cf — Le fichier de configuration global de Postfix. La majorité des options de configuration est spécifiée dans ce fichier.

  • master.cf — Spécifie la manière selon laquelle Postfix interagit avec différents processus pour effectuer la livraison de courrier.

  • >transport — Mappe les adresses de courrier électronique pour qu'elles prennent le relais des hôtes.

ImportantImportant
 

Le fichier /etc/postfix/main.cf par défaut ne permet pas à Postfix d'accepter des connexions réseau venant d'un hôte autre que l'ordinateur local. Pour obtenir des informations sur la configuration de Postfix en tant que serveur pour d'autres clients, reportez-vous à la Section 11.3.2.2.

Lors de la modification de certaines options dans le répertoire /etc/postfix/, il sera peut-être nécessaire de redémarrer le service postfix afin que les modifications apportées prennent effet. Pour ce faire, la meilleure façon consiste à taper la commande suivante :

/sbin/service postfix restart

11.3.2.2. Configuration de Postfix

Par défaut, Postfix n'accepte pas de connexions réseau venant d'un hôte autre que l'ordinateur local. Exécutez les étapes suivantes en tant que root afin d'activer la livraison de courrier pour d'autres hôtes sur le réseau :

  • Éditez le fichier /etc/postfix/main.cf à l'aide d'un éditeur de texte tel que vi.

  • Décommentez la ligne mydomain en supprimant la symbole dièse (#) et remplacez domain.tld par le nom de domaine que le serveur de messagerie sert, tel que example.com.

  • Décommentez la ligne myorigin = $mydomain.

  • Décommentez la ligne myhostname et remplacez host.domain.tld par le nom d'hôte de l'ordinateur.

  • Décommentez la ligne mydestination = $myhostname, localhost.$mydomain.

  • Décommentez la ligne mynetworks et remplacez 168.100.189.0/28 par un paramètre réseau valide pour les hôtes pouvant se connecter au serveur.

  • Décommentez la ligne inet_interfaces = all.

  • Redémarrez le service postfix.

Une fois ces étapes effectuées, l'hôte est en mesure d'accepter la livraison d'emails venant de l'extérieur

Postfix dispose d'une grande gamme d'options de configuration. Une des meilleures façons d'apprendre comment configurer Postfix consiste à lire les commentaires dans /etc/postfix/main.cf. Des ressources supplémentaires incluant des informations sur LDAP et l'intégration de SpamAssassin sont disponibles en ligne à l'adresse suivante : http://www.postfix.org/.

11.3.3. Fetchmail

Fetchmail est un ATC qui récupère du courrier électronique depuis des serveurs distants et le transfère à l'ATC local. De nombreux utilisateurs apprécient la possibilité de pouvoir séparer le processus de téléchargement de leurs messages stockés sur un serveur distant, du processus de lecture et d'organisation de leur courrier dans un AGC. Conçu tout spécialement pour les utilisateurs à accès par ligne commutée, Fetchmail se connecte et télécharge rapidement tous les messages électroniques dans le fichier spoule de messagerie à l'aide de nombreux protocoles différents parmil lesquels figurent POP3 et IMAP. Il permet même de réacheminer vos messages vers un serveur SMTP, si nécessaire.

Fetchmail est configrué pour chaque utilisateur grâce à un fichier .fetchmailrc du répertoire personnel de l'utilisateur.

Sur la base des préférences spécifiés dans le fichier .fetchmailrc, Fetchmail recherche les messages électroniques sur un serveur distant et les télécharge. Il les achemine ensuite sur le port 25 de l'ordinateur local, au moyen de l'ATC local, pour les placer dans le fichier spoule de l'utilisateur approprié. Si Procmail est disponible, il peut être utilisé pour filtrer les messages et les placer dans une boîte aux lettres de sorte qu'ils puissent être lus avec par un AGC.

11.3.3.1. Options de configuration de Fetchmail

Bien qu'il soit possible de passer toutes les options nécessaires pour vérifier le courrier sur un serveur distant depuis la ligne de commande lorsque l'on exécute Fetchmail, il est beaucoup plus simple d'utiliser un fichier .fetchmailrc. Insérez toutes les options de configuration souhaitées dans le fichier .fetchmailrc et ces options seront alors utilisées lors de chaque utilisation de la commande fetchmail. Il est possible d'annuler toute option lorsque Fetchmail est lancé en spécifiant l'option en question à la ligne de commande.

Le fichier .fetchmailrc d'un utilisateur contient trois types d'option de configuration :

  • options globales — donne à Fetchmail des instructions qui contrôlent l'exploitation du programme ou fournit des réglages pour toute connexion de vérification du courrier.

  • options serveur — Spécifie les informations nécessaires sur le serveur scruté, telles que le nom d'hôte, de même que les préférences que vous souhaitez utiliser avec des serveurs de messagerie spécifiques, comme le port à vérifier ou le nombre de secondes devant s'écouler avant d'interrompre la connexion. Ces options affectent tout utilisateur employant ce serveur.

  • options utilisateur — Contient des informations, telles que le nom d'utilisateur et le mot de passe, nécessaires pour l'authentification et la vérification du courrier à l'aide d'un serveur de messagerie donné.

Les options globales apparaissent au sommet du fichier de configuration .fetchmailrc, suivies d'une ou plusieurs options serveur, précisant chacune un serveur de messagerie différent sur lequel Fetchmail devrait vérifier le courrier. Les options utilisateur vont à la suite des options serveur pour chaque compte utilisateur devant être vérifié sur ce serveur de messagerie. Tout comme les options serveur, il est possible de spécifier non seulement de multiples options utilisateur à utiliser avec un serveur donné mais également de vérifier plusieurs comptes de courrier sur un même serveur.

Les options de serveur à utiliser sont appelées dans le fichier .fetchmailrc grâce à l'emploi d'un verbe d'option spécifique, poll ou skip, qui précède toute information de serveur. L'action poll indique à Fetchmail d'utiliser cette option de serveur lorsqu'il est exécuté ; il vérifie en fait le courrier à l'aide des différentes options utilisateur. Toute option de serveur placée après une action skip, ne fait pas l'objet de vérification, à moins que le nom d'hôte de ce serveur ne soit spécifié lorsque Fetchmail est invoqué. L'option skip est utile lors du test de configurations dans .fetchmailrc car elle vérifie les serveurs avec cette option uniquement lorsqu'ils sont invoqués spécifiquement et n'affecte pas les configurations actuelles.

Un exemple de fichier .fetchmailrc ressemble à l'extrait suivant :

set postmaster "user1"
set bouncemail

poll pop.domain.com proto pop3
     user 'user1' there with password 'secret' is user1 here

poll mail.domain2.com
     user 'user5' there with password 'secret2' is user1 here
     user 'user7' there with password 'secret3' is user1 here

Dans cet exemple, les options globales sont configurées de façon à ce que l'utilisateur reçoive le courrier seulement en dernier ressort (option postmaster) et que toutes les erreurs soient envoyées au maître de poste (ou postmaster) plutôt qu'à l'expéditeur (option bouncemail). L'action set indique à Fetchmail que cette ligne contient une option globale. Ensuite, deux serveurs de messagerie sont spécifiés ; le premier est configuré pour vérifier POP3 et le second pour essayer divers protocoles afin d'en trouver un qui fonctionne. Deux utilisateurs sont vérifiés dans le cas de la seconde option de serveur, mais tout message électronique trouvé pour l'un ou l'autre des utilisateurs est envoyé dans le fichier spoule de messagerie de l'utilisateur No. 1 (ou user1). Ceci permet de vérifier de multiples boîtes aux lettres sur des serveurs multiples, tout en apparaissant dans une seule corbeille d'arrivée pour AGC. Toute information spécifique à chacun des utilisateurs commence par l'action user.

NoteRemarque
 

Les utilisateurs ne doivent pas placer leur mot de passe dans le fichier .fetchmailrc. Si la section with password '<mot-de-passe>' est omise Fetchmail demandera un mot de passe lors de son lancement.

Fetchmail offre de nombreuses options aussi bien globales que locales ou de serveur. Beaucoup d'entre elles sont rarement utilisées ou ne s'appliquent qu'à des situations très particulières. La page de manuel de fetchmail explique chacune de ces options de façon détaillée, mais les options les plus courantes sont énumérées ci-dessous.

11.3.3.2. Options globales

Chaque option globale devrait être placée sur une seule ligne et précédée de l'action set.

  • daemon <seconds> — Spécifie le mode démon dans lequel Fetchmail demeure en tâche de fond. Remplacez <seconds>par la durée en secondes pendant laquelle Fetchmail doit attendre avant de sonder le serveur.

  • postmaster — Spécifie un utilisateur local auquel envoyer le courrier en cas de problèmes de distribution.

  • syslog — Spécifie le fichier journal pour l'enregistrement des messages d'erreur et d'état. La valeur /var/log/maillog est retenu par défaut.

11.3.3.3. Options serveur

Les options de serveur doivent figurer sur leur propre ligne dans .fetchmailrc, après une action poll ou skip.

  • auth <auth-type> — Remplacez <auth-type> par le type d'authentification à utiliser. Par défaut, l'authentification password est utilisée, mais certains protocoles prennent en charge d'autres types d'authentification, notamment kerberos_v5, kerberos_v4 et ssh. Si le type d'authentification any est retenu, Fetchmail essaiera d'abord des méthodes qui ne nécessitent aucun mot de passe, puis des méthodes qui masquent le mot de passe et, en dernier ressort, essaiera d'envoyer le mot de passe en texte en clair pour effectuer l'authentification auprès du serveur.

  • interval <number> — Indique à Fetchmail de ne sonder que le serveur spécifié toutes les <nombre> de fois qu'il vérifie le courrier sur tous les serveurs configurés. Cette option est généralement utilisée pour les serveurs de messagerie sur lesquels un utilisateur ne reçoit que rarement des messages.

  • port <port-number> — Remplacez <port-number> par le numéro de port. Cette valeur écrase le numéro du port par défaut pour un protocole spécifié.

  • proto <protocol> — Remplacez <protocol> par le protocole, tel que pop3 ou imap, devant être utilisé pour vérifier le courrier sur le serveur.

  • timeout <seconds> — Remplacez <seconds> par la durée d'inactivité du serveur (exprimée en secondes) après laquelle Fetchmail abandonne une tentative de connexion. Si cette valeur n'est pas configurée, le système retient une valeur par défaut de 300 secondes.

11.3.3.4. Options utilisateur

Les options utilisateur peuvent être placées sur leurs propres lignes sous une option de serveur ou alors sur la même ligne que l'option de serveur. Dans les deux cas, les options définies doivent suivre l'option user (définie ci-dessous).

  • fetchall — Donne l'ordre à Fetchmail de télécharger tous les messages de la file d'attente, y compris les messages qui ont déjà été visualisés. Par défaut, Fetchmail ne récupère que les nouveaux messages.

  • fetchlimit <number> — Remplacez <number> par le nombre de messages à extraire avant de s'arrêter.

  • flush — Donne l'instruction à Fetchmail de supprimer tous les messages de la file qui ont été lus précédemment avant d'extraire les nouveaux messages.

  • limit <max-number-bytes> — Remplacez <max-number-bytes> par la taille maximales en octets autorisée pour des messages lors de leur extraction. Cette option est pratique lors de connexions réseau lentes, particulièrement lorsqu'un gros message prend trop de temps à être télécharger.

  • password '<password>' — Remplacez <password> par le mot de passe de l'utilisateur.

  • preconnect "<command>" — Remplacez <command> par une commande à exécuter avant de récupérer les messages pour cet utilisateur.

  • postconnect "<command>" — Remplacez <command> par une commande à exécuter après avoir récupéré les messages pour cet utilisateur.

  • ssl — Active le cryptage SSL.

  • user "<username>" — Remplacez <username>par le nom d'utilisateur employé par Fetchmail pour récupérer les messages électroniques. Cette option doit être placée avant toute autre option utilisateur.

11.3.3.5. Options de commande Fetchmail

La plupart des options utilisées en ligne de commande lors de l'exécution de la commande fetchmail, répliquent les options de configuration de .fetchmailrc. Ainsi, Fetchmail peut être utilisé avec ou sans fichier de configuration. Ces options ne sont pas utilisées en ligne de commande par la plupart des utilisateurs car il est plus simple de les laisser dans le fichier .fetchmailrc.

Toutefois, il se peut que dans certaines situations la commande fetchmail doive être exécutée avec d'autres options dans un but bien précis. Il est possible d'exécuter des options de commande afin d'annuler temporairement un paramètre de .fetchmailrc qui est la cause d'une erreur car toute option spécifiée à la ligne de commande écrase les options de fichiers de configuration.

11.3.3.6. Options d'information ou de débogage

Certaines options utilisées après la commande fetchmail permettent d'obtenir d'importantes informations.

  • --configdump — Affiche toutes les options possibles sur la base des informations de .fetchmailrc et les valeurs par défaut de Fetchmail. Aucun message électronique n'est téléchargé lorsque vous utilisez cette option, et ce, pour aucun utilisateur.

  • -s — Exécute Fetchmail en mode silencieux, empêchant tout message, autre que des messages d'erreur, d'apparaître après la commande fetchmail.

  • -v — Exécute Fetchmail en mode prolixe, affichant toute communication entre Fetchmail et les serveurs de messagerie distants.

  • -V — Affiche des informations détaillées sur la version utilisée, dresse la liste de ses options globales et fournit les paramètres à utiliser pour chaque utilisateur, y compris le protocole de messagerie et la méthode d'authentification. Lors de l'utilisation de cette option, aucun courrier électronique n'est récupéré pour quelque utilisateur que ce soit.

11.3.3.7. Options spéciales

Ces options peuvent parfois être pratiques pour annuler les valeurs par défaut qui se trouvent souvent dans le fichier .fetchmailrc.

  • -a— Indique à Fetchmail de télécharger tous les messages depuis le serveur de messagerie distant, qu'ils soient nouveaux ou qu'ils aient déjà été visualisés. Par défaut, Fetchmail ne télécharge que les nouveaux messages.

  • -k — Fetchmail laisse les messages sur le serveur de messagerie distant après les avoir téléchargés. Cette option annule le comportement par défaut consistant à supprimer les messages après les avoir téléchargés.

  • -l <max-number-bytes> — Indique à Fetchmail de ne pas télécharger tout message dont la taille est supérieure à la taille spécifiée (max-number-bytes) et de les laisser sur le serveur de messagerie distant.

  • --quit — Quitte le processus du démon Fetchmail.

D'autres commandes et options .fetchmailrc sont disponibles dans la page de manuel relative à fetchmail.