exim Service de messagerie transactionnel
Agent de transfert de courrier open source comme alternative à Sendmail
EXIM est un agent de transfert de messagerie open source hautement personnalisable pour le routage et la livraison des e-mails. C'est le choix numéro un pour les organisations de niveau d'entreprise pour sa flexibilité.
Aperçu
La communication par courrier électronique est devenue primitive dans nos vies. Envoyer des e-mails de bureau, mobile ou tout autre appareil est une affaire quotidienne pour la plupart des personnes. Le protocole de transfert de courrier simple (SMTP) est le protocole standard utilisé pour envoyer des e-mails. IMAP et POP3 sont les protocoles pour recevoir des e-mails. L’IMAP présente certains avantages par rapport à la pop en raison de la synchronisation entre les appareils. Ainsi, un agent de transfert de courrier qui est open source et prend en charge tous ces protocoles requis est crucial. L’exécution de votre agent de transfert de courrier est un travail très fastidieux et donc le choix que vous faites pour le logiciel MTA nécessite une analyse approfondie par rapport à votre matrice d’exigence. EXIM est l’un des agents de transfert de messagerie open source les plus flexibles qui peuvent être utilisés comme remplacement de l’agent de transfert de messagerie par défaut des systèmes les plus UNIX. EXIM est livré avec un paquet de fonctionnalités de pointe, notamment la compatibilité SendMail, le support CPanel, la configuration flexible et surtout un énorme support communautaire open source. EXIM est comme un framework avec son langage d’application pour configurer des configurations complexes. Il a une logique avancée de traitement du courrier en plusieurs étapes qui l’aide à résoudre des cas d’utilisation complexes. Sendmail est déjà perdu contre PostFix dans tous les aspects, cependant, PostFix est moins polyvalent que Exim. Il a un excellent support d’intégration et fournit tout ce qu’un administrateur système peut demander. EXIM prend en charge la plupart des fonctionnalités de l’agent de transfert de courrier d’une manière ou d’une autre.
Configuration requise
Avant de construire EXIM, un fichier de configuration local qui spécifie des options indépendamment de tout système d’exploitation doit être créé avec le nom local / makefile. Un modèle pour ce fichier est fourni sous forme de fichier src / editme, et il contient des descriptions complètes de tous les paramètres d’option qui s’y trouvent. Ces descriptions ne sont donc pas répétées ici. Si vous construisez EXIM pour la première fois, la chose la plus simple à faire est de copier SRC / EditMe à Local / Makefile, puis lisez-le et modifiez-le de manière appropriée. Il y a trois paramètres que vous devez fournir, car Exim ne construira pas sans eux. Ils sont l’emplacement du fichier de configuration d’exécution (configure \ _file), le répertoire dans lequel les binaires exim seront installés (bin \ _directory), et l’identité de l’utilisateur exim (exim \ _user et peut-être également exim \ _group). La valeur de Configure \ _file peut en fait être une liste de noms de fichiers séparés par le côlon; Exim les utilise les premiers qui existent. Il existe quelques autres paramètres qui peuvent être spécifiés soit au moment de la construction, soit au moment de l’exécution, pour permettre que le même binaire soit utilisé sur un certain nombre de machines différentes. Cependant, si les emplacements du répertoire Spool et du répertoire de fichiers journaux d’EXIM (sinon dans le répertoire Spool) sont corrigé En tant que fichier de configuration mal formé) peut être enregistré. Les interfaces d’Exim pour appeler le virus et le logiciel de balayage de spam directement à partir des listes de contrôle d’accès ne sont pas compilées par défaut. Si vous souhaitez inclure ces installations, vous devez définir
WITH_CONTENT_SCAN=yes
dans votre local / makefile. Pour plus de détails sur les installations elles-mêmes Si vous allez créer le moniteur EXIM, un processus de configuration similaire est requis. Le fichier exim \ _monitor / editme doit être modifié de manière appropriée pour votre installation et enregistrée sous le nom local / eximon.conf. Si vous êtes satisfait des paramètres par défaut décrits dans exim \ _monitor / editme, local / eximon.conf peut être vide, mais il doit exister. C’est toute la configuration nécessaire dans des cas simples pour les systèmes d’exploitation connus. Cependant, le processus de construction est configuré afin qu’il soit facile de remplacer les options qui sont définies par défaut ou par des fichiers de configuration spécifiques au système opérationnel, par exemple, pour modifier le compilateur C, qui par défaut à GCC.
Caractéristiques
EXIM prend en charge toutes les fonctionnalités modernes que vous pouvez imaginer à partir du meilleur logiciel d’agent de transfert de courrier open source. Ce sont quelques-unes des principales caractéristiques de l’exim:
- EXIM suit la même approche générale de contrôle décentralisé que le Smail fait. Il n’y a pas de processus central effectuant la gestion globale de la livraison de courrier. Cependant, contrairement à Smail, les processus de livraison indépendants partagent des données sous forme de «conseils», ce qui rend la livraison plus efficace dans certains cas. Les conseils sont conservés dans un certain nombre de fichiers DBM. Si l’un de ces fichiers est perdu, le seul effet est de modifier le modèle de tentatives de livraison et de tentatives.
- De nombreuses options de configuration peuvent être données sous forme de chaînes d’expansion, qui sont transformées de différentes manières lorsqu’elles sont utilisées. Comme ceux-ci peuvent inclure des recherches de fichiers, une grande partie de l’opération d’Exim peut être dirigée par la table si vous le souhaitez. Par exemple, il est possible de faire une livraison locale sur une machine sur laquelle les utilisateurs n’ont pas de comptes. La flexibilité ultime peut être obtenue (à un prix) en exécutant un interprète Perl tout en élargissant une chaîne.
- Accès pour afficher les messages historiques.
- Accès pour afficher le sortant complet & amp; file d’attente de messages entrants.
- EXIM a des algorithmes de réchauffement flexibles, applicables aux adresses de mise en scène et de routage ainsi qu’à la livraison.
- EXIM contient des installations de réécriture d’en-tête et d’enveloppe.
- Les adresses non qualifiées sont acceptées uniquement à partir d’hôtes ou de réseaux spécifiés.
- EXIM peut effectuer plusieurs livraisons sur le même canal SMTP après le retard des livraisons.
- EXIM peut être configuré pour effectuer des livraisons locales immédiatement, mais pour laisser des livraisons à distance (SMTP) jusqu’à ce que le message soit récupéré par un processus de file d’attente. Cela augmente la probabilité que plusieurs messages soient envoyés en une seule connexion SMTP.
- Les livraisons à distance du même message à différents hôtes peuvent éventuellement être effectuées en parallèle.
- Les messages SMTP entrants commencent la livraison dès qu’ils sont reçus, sans attendre que l’appel SMTP se ferme.
- EXIM a pris en charge l’extension SMTP Auth pour l’authentification des clients et pour l’extension startTLS pour la configuration des connexions cryptées.
- Des expressions régulières compatibles perl sont disponibles dans un certain nombre de paramètres de configuration.
- Les listes de domaines peuvent inclure des recherches de fichiers, ce qui permet de prendre en charge de très grands nombres de domaines locaux.
- EXIM prend en charge la vérification facultative du chemin de retour entrant (expéditeur) et des adresses du récepteur telles qu’elles sont reçues par SMTP.
- Les appels SMTP à partir de machines spécifiques, éventuellement à partir d’idénts spécifiques, peuvent être verrouillés et les messages SMTP entrants des expéditeurs spécifiques peuvent également être verrouillés. EXIM prend également en charge l’utilisation de la liste de blocage en temps réel (RBL).
- Les hôtes autorisés à relayer le courrier via une machine vers un autre domaine externe peuvent être contrôlés par numéro IP ou numéro de réseau IP. Le contrôle de relais par domaine du destinataire et l’adresse de l’expéditeur est également disponible.
- Les messages dans la file d’attente peuvent être «figés» et «décongelés» par l’administrateur.
- EXIM peut gérer un certain nombre de domaines locaux indépendants sur la même machine; Chaque domaine peut avoir ses propres fichiers d’alias, etc. Cette installation est parfois appelée «domaines virtuels».
- Les listes de diffusion simples peuvent être gérées directement par EXIM elle-même (mais pour les opérations de liste de diffusion «sérieuses», il est préférable de l’utiliser en collaboration avec un logiciel de liste de diffusion spécialisé).
- EXIM statistique un répertoire personnel d’un utilisateur avant de rechercher un fichier `.forward ‘, afin de détecter le cas d’un support NFS manquant. La livraison est retardée si le répertoire n’est pas disponible.
- EXIM contient une installation de filtrage de courrier intégrée en option. Cela peut être configuré pour permettre aux utilisateurs de fournir des fichiers de filtrage personnel, et il est également possible qu’un fichier de filtre à l’échelle du système soit appliqué à chaque message.
- Il existe une prise en charge de plusieurs boîtes aux lettres d’utilisateurs contrôlées par des préfixes ou des suffixes sur le nom d’utilisateur, soit via le mécanisme de filtre, soit via plusieurs fichiers `.Forward ‘.
- Les avertissements périodiques sont automatiquement envoyés aux expéditeurs des messages lorsque la livraison est retardée - le temps entre les avertissements est configurable. Les avertissements peuvent être rendus conditionnels sur le contenu du message.
- Une file d’attente peut être démarrée manuellement pour livrer une partie particulière de la file d’attente, ou les messages avec un destinataire dont l’adresse contient une chaîne donnée. Il y a une prise en charge de la commande ETRN dans SMTP pour l’interface.
- EXIM peut être configuré pour s’exécuter en racine tout le temps, sauf lors de l’exécution de livraisons locales, ce qu’il fait toujours dans un processus distinct sous un UID et GID appropriés. Alternativement, il peut être configuré pour s’exécuter comme racine uniquement en cas de besoin; En particulier, il n’a pas besoin d’exécuter comme racine lors de la réception de messages entrants ou lors de l’envoi de messages sur SMTP. Voir le chapitre 55 pour une discussion sur les questions de sécurité.
- J’ai essayé de rendre le libellé des messages de défaillance de livraison plus clairs et plus simples, au profit de ces personnes moins expérimentées qui utilisent désormais le courrier électronique. Un libellé alternatif pour ces messages peut être fourni dans un fichier séparé.
- Le moniteur EXIM est un supplément en option; Il affiche des informations sur le traitement d’Exim dans une fenêtre X, et un administrateur peut effectuer un certain nombre d’actions de contrôle à partir de l’interface de la fenêtre. Cependant, toutes ces actions sont également disponibles à partir de l’interface de ligne de commande.
Instructions d’installation
Installation des binaires et scripts exim
L’installation de la commande exécute le script exim \ _install sans arguments. Le script copie des binaires et des scripts utilitaires dans le répertoire dont le nom est spécifié par le paramètre bin \ _directory dans local / makefile. Le script d’installation ne copie les fichiers que s’ils sont plus récents que les fichiers qu’ils vont remplacer. Le binaire EXIM doit être détenu par root et avoir le set de bits setuid, pour des configurations normales. Par conséquent, vous devez exécuter Faire installer Root afin qu’il puisse configurer le binaire exim de cette manière. Cependant, dans certaines situations spéciales (par exemple, si un hôte ne fait aucune livraison locale), il peut être possible d’exécuter EXIM sans faire de la racine setuid binaire (voir le chapitre 56 pour plus de détails). Le fichier de configuration d’exécution d’Exim est nommé par le paramètre configure \ _file dans local / makefile. Si cela nomme un seul fichier et que le fichier n’existe pas, le fichier de configuration par défaut src / configure.default y est copié par le script d’installation. Si un fichier de configuration d’exécution existe déjà, il est laissé seul. Si Configure \ _file est une liste séparée par le côlon, nommant plusieurs fichiers alternatifs, aucune valeur par défaut n’est installée. Une modification est apportée au fichier de configuration par défaut lors de son installation: la configuration par défaut contient un routeur qui fait référence à un fichier d’alias système. Le chemin d’accès à ce fichier est défini sur la valeur spécifiée par System \ _aliases \ _file dans local / makeFile (/ etc / aliases par défaut). Si le fichier System alias n’existe pas, le script d’installation le crée et publie un commentaire à l’utilisateur. Le fichier créé ne contient aucun alias, mais il contient des commentaires sur les alias qu’un site devrait normalement avoir. Les alias de courrier ont traditionnellement été conservés dans / etc / alias. Cependant, certains systèmes d’exploitation utilisent désormais / etc / mail / alias. Vous devez vérifier si le vôtre en fait partie et modifier la configuration d’Exim si nécessaire. La configuration par défaut utilise le nom de l’hôte local comme seul domaine local et est configuré pour effectuer des livraisons locales dans le répertoire partagé / var / mail, fonctionnant en tant qu’utilisateur local. Les alias système et les fichiers. Forward dans les répertoires domestiques des utilisateurs sont pris en charge, mais aucune prise en charge NIS ou NIS + n’est configurée. Des domaines autres que le nom de l’hôte local sont acheminés à l’aide du DNS, avec livraison sur SMTP. Il est possible d’installer EXIM à des fins spéciales (comme la construction d’une distribution binaire) dans une partie privée du système de fichiers. Vous pouvez le faire par une commande comme
make DESTDIR=/some/directory/ install
Cela a l’effet de la prédépendance du répertoire spécifié à tous les chemins de fichier, à l’exception du nom du fichier d’alias système qui apparaît dans la configuration par défaut. (Si un fichier d’alias par défaut est créé, son nom est modifié.) Pour une compatibilité vers l’arrière, la racine est utilisée si Destdir n’est pas défini, mais cette utilisation est obsolète. Running Make Installer ne copie pas le script de conversion Exim 4 convert4r4. Vous ne l’exécuterez probablement une seule fois que si vous passez à la mise à niveau d’EXIM 3. Aucun des fichiers de documentation dans le répertoire DOC n’est copié, à l’exception des fichiers d’informations lorsque vous avez défini Info \ _directory, comme décrit dans la section 4.17 ci-dessous. Pour les programmes d’utilité, les anciennes versions sont renommées en ajoutant le suffixe .o à leurs noms. Le binaire exim lui-même, cependant, est géré différemment. Il est installé sous un nom qui inclut le numéro de version et le numéro de compilation, par exemple, exim-4.94-1. Le script organise ensuite un lien symbolique appelé exim pour pointer vers le binaire. Si vous mettez à jour une version précédente d’EXIM, le script prend soin de vous assurer que le nom EXIM n’est jamais absent du répertoire (comme le montre d’autres processus). Si vous voulez voir ce que l’installation de marque fera avant de l’exécuter pour de vrai, vous pouvez transmettre l’option -N au script d’installation par cette commande:
make INSTALL_ARG=-n install
Le contenu de la variable Install \ _arg est transmis au script d’installation. Vous n’avez pas besoin d’être root pour exécuter ce test. Alternativement, vous pouvez exécuter directement le script d’installation, mais cela doit être à partir du répertoire de construction. Par exemple, à partir du répertoire exim de niveau supérieur, vous pouvez utiliser cette commande:
(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)
Il existe deux autres options qui peuvent être fournies au script d’installation.
- -No \ _Chown contourne l’appel pour changer le propriétaire du binaire installé pour root, et l’appel pour en faire un binaire setuid.
- -No \ _SymLink contourne la configuration du lien symbolique exim au binaire installé. Installer \ _arg peut être utilisé pour transmettre ces options au script. Par exemple:
make INSTALL_ARG=-no_symlink install
Le script d’installation peut également recevoir des arguments spécifiant quels fichiers doivent être copiés. Par exemple, pour installer uniquement le binaire exim, et rien d’autre, sans créer le lien symbolique, vous pouvez utiliser:
make INSTALL_ARG='-no_symlink exim' install
Installation de la documentation d’informations
Tous les systèmes n’utilisent pas le système d’informations GNU pour la documentation, et pour cette raison, la source TexInfo de la documentation d’EXIM n’est pas incluse dans la distribution principale. Au lieu de cela, il est disponible séparément du site FTP (voir la section 1.5). Si vous avez défini des informations \ _directory dans local / makefile et que la source texinfo de la documentation se trouve dans l’arborescence source, Running Make Install construit automatiquement les fichiers d’informations et les installe.