Exim is zeer aanpasbare open source e -mailtransfer agent software

exim Transactionele e -mailservice

Open source e -mailoverdracht agent als alternatief voor sendmail

EXIM is een zeer aanpasbare open source e -mailoverdrachtagent voor e -mailroutering en levering. Het is de nummer één keuze voor organisaties op bedrijfsniveau voor de flexibiliteit.

Overzicht

Communicatie via elektronische e -mail is primitief geworden in ons leven. Het verzenden van e -mails vanuit Desktop, Mobile of een ander apparaat is een dagelijkse affaire voor de meeste mensen. Simple Mail Transfer Protocol (SMTP) is het standaardprotocol dat wordt gebruikt om e -mails te verzenden. IMAP en POP3 zijn de protocollen om e -mails te ontvangen. IMAP heeft enkele voordelen ten opzichte van de POP vanwege synchronisatie op de apparaten. Dus een postoverdrachtagent die source opent en al deze vereiste protocollen ondersteunt, is cruciaal. Het uitvoeren van uw e -mailtransfer -agent is een zeer vervelende taak en daarom vereist de keuze die u maakt voor de MTA -software een diepe analyse van uw vereiste matrix. EXIM is een van de meest flexibele open source e -mailtransferagent die kan worden gebruikt als vervanging van de standaard e -mailoverdrachtagent van de meest UNIX -systemen. EXIM wordt geleverd met een bundel geavanceerde functies, waaronder Sendmail -compatibiliteit, CPanel -ondersteuning, flexibele configuratie en vooral enorme open source community -ondersteuning. EXIM is als een raamwerk met zijn toepassingstaal om complexe configuraties in te stellen. Het heeft een geavanceerde multi-step-e-mailverwerkingslogica die het helpt om complexe use cases op te lossen. Sendmail is al verloren van Postfix in alle aspecten, maar Postfix is ​​minder veelzijdig dan EXIM. Het heeft uitstekende integratieondersteuning en het biedt alles wat een systeembeheerder kan vragen. EXIM ondersteunt op een of andere manier de meeste functies van de postoverdrachtagent.

Systeem vereisten

Voordat EXIM wordt gebouwd, moet een lokaal configuratiebestand dat opties aangeeft, onafhankelijk van een besturingssysteem, worden gemaakt met de naam Local/Makefile. Een sjabloon voor dit bestand wordt geleverd als het bestand SRC/EDITME en bevat volledige beschrijvingen van alle optieinstellingen daarin. Deze beschrijvingen worden hier daarom niet herhaald. Als u EXIM voor het eerst bouwt, is het eenvoudigste wat u moet doen om SRC/EditMe naar lokaal/Makefile te kopiëren, lees het en bewerk het op de juiste manier. Er zijn drie instellingen die u moet leveren, omdat Exim niet zonder hen zal bouwen. Ze zijn de locatie van het runtime -configuratiebestand (configureer \ _file), de map waarin exim binaries worden geïnstalleerd (bin \ _directory) en de identiteit van de EXIM -gebruiker (exim _user en misschien ook exim \ _group). De waarde van configureren \ _file kan in feite een colon-gescheiden lijst met bestandsnamen zijn; Exim gebruikt de eerste die bestaat. Er zijn een paar andere parameters die kunnen worden gespecificeerd tijdens de bouwtijd of tijdens runtime, om hetzelfde binair getal te kunnen gebruiken op een aantal verschillende machines. Als de locaties van Exim’s Spool Directory en Log File Directory echter (zo niet binnen de spoolmap) zijn vastgesteld, wordt het aanbevolen om ze in lokaal/makefile te specificeren in plaats van tijdens runtime, zodat fouten vroeg in de uitvoering van Exim werden gedetecteerd (dergelijke (dergelijke als een misvormd configuratiebestand) kan worden vastgelegd. EXIM’s interfaces voor het oproepen van virus- en spamscansoftware rechtstreeks vanuit toegangscontrolelijsten worden niet standaard gecompileerd. Als u deze faciliteiten wilt opnemen, moet u instellen

WITH_CONTENT_SCAN=yes

in uw lokale/makefile. Voor details over de faciliteiten zelf Als u de EXIM -monitor gaat bouwen, is een soortgelijk configuratieproces vereist. Het bestand Exim \ _Monitor/EditMe moet op de juiste manier worden bewerkt voor uw installatie en opgeslagen onder de naam Local/Eximon.conf. Als u tevreden bent met de standaardinstellingen die zijn beschreven in Exim \ _Monitor/EditMe, kan Local/Eximon.conf leeg zijn, maar het moet bestaan. Dit is alle configuratie die nodig is in eenvoudige gevallen voor bekende besturingssystemen. Het bouwproces is echter ingesteld, zodat het eenvoudig is om opties die standaard worden ingesteld, te overschrijven of door het besturingssysteem-specifieke configuratiebestanden te besturen, bijvoorbeeld om de C-compiler te wijzigen, die standaard in GCC wordt gewijzigd.

Functies

EXIM ondersteunt alle moderne functies die u zich kunt voorstellen van top open source e -mailtransfer agent -software. Dit zijn enkele van de belangrijkste kenmerken van Exim:

  • Exim volgt dezelfde algemene benadering van gedecentraliseerde controle die Smail doet. Er is geen centraal proces dat het algemene beheer van postbezorging doet. In tegenstelling tot Smail delen de onafhankelijke leveringsprocessen echter gegevens in de vorm van ‘hints’, waardoor levering in sommige gevallen efficiënter is. De hints worden bewaard in een aantal DBM -bestanden. Als een van deze bestanden verloren gaat, is het enige effect het wijzigen van het patroon van leveringspogingen en -pakketten.
  • Veel configuratie -opties kunnen worden gegeven als uitbreidingstrings, die op verschillende manieren worden getransformeerd wanneer ze worden gebruikt. Aangezien deze bestandsopzoekingen kunnen omvatten, kan veel van de werking van EXIM indien gewenst door tabel worden gestuurd. Het is bijvoorbeeld mogelijk om lokale levering uit te voeren op een machine waarop de gebruikers geen accounts hebben. De ultieme flexibiliteit kan worden verkregen (tegen een prijs) door een Perl -tolk te runnen en een string uit te breiden.
  • Toegang om historische berichten te bekijken.
  • Toegang om de volledige uitgaande & amp; Inkomende berichtwachtrij.
  • EXIM heeft flexibele opnieuw proberen algoritmen, van toepassing op richt- en routeringsadressen en op levering.
  • Exim bevat header- en envelop -herschrijffaciliteiten.
  • Ongekwalificeerde adressen worden alleen geaccepteerd van gespecificeerde hosts of netwerken.
  • Exim kan meerdere leveringen uitvoeren in hetzelfde SMTP -kanaal nadat leveringen zijn vertraagd.
  • Exim kan worden geconfigureerd om lokale leveringen onmiddellijk te doen, maar om leveringen op afstand (SMTP) te verlaten totdat het bericht wordt opgehaald door een wachtrij-runner-proces. Dit verhoogt de kans dat meerdere berichten een enkele SMTP -verbinding worden verzonden.
  • Leveringen op afstand van hetzelfde bericht aan verschillende hosts kunnen optioneel parallel worden gedaan.
  • Inkomende SMTP -berichten beginnen met levering zodra ze worden ontvangen, zonder te wachten op de SMTP -oproep.
  • EXIM heeft ondersteuning voor de SMTP Auth -extensie voor het authenticeren van clients en voor de starttls -extensie voor het instellen van gecodeerde verbindingen.
  • Perl-compatibele reguliere uitdrukkingen zijn beschikbaar in een aantal configuratieparameters.
  • Domeinlijsten kunnen bestandsopzoeken bevatten, waardoor het mogelijk is om zeer grote aantallen lokale domeinen te ondersteunen.
  • EXIM ondersteunt optionele controle van inkomende retourpad (afzender) en ontvangeradressen zoals ze worden ontvangen door SMTP.
  • SMTP -oproepen van specifieke machines, optioneel van specifieke idents, kunnen worden vergrendeld en inkomende SMTP -berichten van specifieke afzenders kunnen ook worden vergrendeld. Exim ondersteunt ook het gebruik van de realtime blokkeerlijst (RBL).
  • Hosts die maximaal door een machine kunnen doorgeven naar een ander extern domein, kunnen worden bestuurd door IP -nummer of IP -netwerknummer. Relaisbesturing door ontvanger domein en afzenderadres is ook beschikbaar.
  • Berichten op de wachtrij kunnen door de beheerder worden ‘bevroren’ en ‘ontdooid’.
  • EXIM kan een aantal onafhankelijke lokale domeinen op dezelfde machine verwerken; Elk domein kan zijn eigen aliasbestanden hebben, enz. Deze faciliteit staat soms bekend als ‘virtuele domeinen’.
  • Eenvoudige mailinglijsten kunnen rechtstreeks worden behandeld door EXIM zelf (maar voor ‘serieuze’ mailinglijstbewerkingen is het het beste om het te gebruiken in combinatie met gespecialiseerde mailinglijst software).
  • EXIM -statistieken van een huisdirectory van een gebruiker voordat u op zoek bent naar een `.forward ‘-bestand, om het geval van een ontbrekende NFS -mount te detecteren. De levering wordt vertraagd als de map niet beschikbaar is.
  • Exim bevat een optionele ingebouwde postfilterfaciliteit. Dit kan worden geconfigureerd om gebruikers in staat te stellen persoonlijke filterbestanden te bieden en het is ook mogelijk dat een systeembrede filterbestand op elk bericht wordt toegepast.
  • Er is ondersteuning voor meerdere gebruikerspostbussen die worden bestuurd door voorvoegsels of achtervoegsels op de gebruikersnaam, hetzij via het filtermechanisme of via meerdere `.Forward ‘-bestanden.
  • Periodieke waarschuwingen worden automatisch verzonden naar de afzenders van berichten wanneer de levering wordt vertraagd - de tijd tussen waarschuwingen is configureerbaar. De waarschuwingen kunnen voorwaardelijk worden gemaakt over de inhoud van het bericht.
  • Een wachtrijrun kan handmatig worden begonnen om slechts een bepaald deel van de wachtrij te leveren, of die berichten met een ontvanger wiens adres een bepaalde tekenreeks bevat. Er is ondersteuning voor de ETRN -opdracht in SMTP om hiermee te communiceren.
  • Exim kan worden geconfigureerd om altijd als root te worden uitgevoerd, behalve bij het uitvoeren van lokale leveringen, wat het altijd doet in een afzonderlijk proces onder een geschikte UID en GID. Als alternatief kan het worden geconfigureerd om alleen als root te worden uitgevoerd wanneer dat nodig is; In het bijzonder hoeft het niet als root te worden uitgevoerd bij het ontvangen van inkomende berichten of bij het verzenden van berichten via SMTP. Zie hoofdstuk 55 voor een bespreking van beveiligingsproblemen.
  • Ik heb geprobeerd om de formulering van de berichten van leveringsfout duidelijker en eenvoudiger te maken, ten behoeve van die minder ervaren mensen die nu e-mail gebruiken. Alternatieve formulering voor deze berichten kan in een afzonderlijk bestand worden verstrekt.
  • De EXIM -monitor is een optionele extra; Het geeft informatie weer over de verwerking van EXIM in een X -venster en een beheerder kan een aantal besturingsacties uitvoeren vanuit de vensterinterface. Al dergelijke acties zijn echter ook beschikbaar via de opdrachtregelinterface.

Installatie instructies

Exim Binaries en Scripts installeren

De opdracht maakt installeert het exim \ _install -script zonder argumenten. Het script kopieert binaries en utility -scripts naar de map waarvan de naam is opgegeven door de bin \ _directory -instelling in lokaal/makefile. Het installatiebeschrijving kopieert bestanden alleen als ze nieuwer zijn dan de bestanden die ze gaan vervangen. Het exim binaire bestand moet eigendom zijn van root en hebben de setuid bit set, voor normale configuraties. Daarom moet u het installeren van installeren als root uitvoeren zodat het het exim binaire getal op deze manier kan instellen. In sommige speciale situaties (als een host bijvoorbeeld geen lokale leveringen doet) kan het mogelijk zijn om EXIM te uitvoeren zonder de binaire setuid -root te maken (zie hoofdstuk 56 voor details). Het runtime -configuratiebestand van EXIM wordt genoemd door de instelling Configure \ _file in Local/Makefile. Als dit een enkel bestand noemt en het bestand niet bestaat, wordt het standaardconfiguratiebestand src/configure.default daar gekopieerd door het installatiescript. Als er al een runtime -configuratiebestand bestaat, wordt het alleen gelaten. Als configureren \ _file een colon-gescheiden lijst is, waarbij verschillende alternatieve bestanden worden genoemd, is er geen standaardinstelling geïnstalleerd. Er wordt één wijziging aangebracht in het standaardconfiguratiebestand wanneer het is geïnstalleerd: de standaardconfiguratie bevat een router die verwijst naar een bestandsaliassen. Het pad naar dit bestand is ingesteld op de waarde die is opgegeven door System \ _aliases \ _file in Local/Makefile (/etc/aliases standaard). Als het bestandsaliassen niet bestaat, maakt het installatiescript het aan en voert het een opmerking uit voor de gebruiker. Het gemaakte bestand bevat geen aliassen, maar het bevat wel opmerkingen over de aliassen die een site normaal zou moeten hebben. Mailaliassen zijn traditioneel in /etc /aliassen bewaard. Sommige besturingssystemen gebruiken nu echter/etc/e -mail/aliassen. U moet controleren of de uwe een van deze is en de configuratie van EXIM indien nodig wijzigt. De standaardconfiguratie gebruikt de naam van de lokale host als het enige lokale domein en is ingesteld om lokale leveringen te doen in de gedeelde directory /var /e -mail, uitgevoerd als de lokale gebruiker. Systeemaliassen en .Forward -bestanden in de thuismappen van gebruikers worden ondersteund, maar er wordt geen NIS- of NIS+ -ondersteuning geconfigureerd. Andere domeinen dan de naam van de lokale host worden gerouteerd met behulp van de DNS, met levering via SMTP. Het is mogelijk om EXIM te installeren voor speciale doeleinden (zoals het bouwen van een binaire distributie) in een privégedeelte van het bestandssysteem. U kunt dit doen door een opdracht zoals

make DESTDIR=/some/directory/ install

Dit heeft het effect van voorafgaande voorstelling van de opgegeven directory naar alle bestandspaden, behalve de naam van het bestandsaliassen dat in de standaardconfiguratie verschijnt. (Als een standaard alias -bestand wordt gemaakt, wordt de naam gewijzigd.) Voor achterwaartse compatibiliteit wordt root gebruikt als destdir niet is ingesteld, maar dit gebruik is verouderd. Runnen Installeren kopieert niet de Exim 4 Conversion Script Convert4R4. U zult dit waarschijnlijk slechts eenmaal uitvoeren als u upgrade van Exim 3. Geen van de documentatiebestanden in de DOC -directory wordt gekopieerd, behalve voor de info -bestanden wanneer u info \ _directory hebt ingesteld, zoals beschreven in sectie 4.17 hieronder. Voor de hulpprogramma’s worden oude versies hernoemd door het achtervoegsel .o aan hun namen toe te voegen. Het exim binaire zelf wordt echter anders behandeld. Het is geïnstalleerd onder een naam met het versienummer en het compileernummer, bijvoorbeeld EXIM-4.94-1. Het script rangschikt vervolgens voor een symbolische link genaamd EXIM om naar het binaire getal te wijzen. Als u een eerdere versie van EXIM bijwerkt, zorgt het script ervoor dat de naam EXIM nooit afwezig is in de map (zoals te zien door andere processen). Als u wilt zien wat de make -installatie zal doen voordat u deze echt uitvoert, kunt u de -n -optie doorgeven aan het installatiescript volgens deze opdracht:

make INSTALL_ARG=-n install

De inhoud van de variabele installatie \ _arg wordt doorgegeven aan het installatiescript. U hoeft geen root te zijn om deze test uit te voeren. Als alternatief kunt u het installatiescript rechtstreeks uitvoeren, maar dit moet vanuit de buildmap zijn. Uit de exim-directory op het hoogste niveau kunt u deze opdracht bijvoorbeeld gebruiken:

(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)

Er zijn twee andere opties die kunnen worden geleverd aan het installatiescript.

  • -No \ _Chown omzeilt de oproep om de eigenaar van de geïnstalleerde binaire getal in root te wijzigen, en de oproep om het een setuid binair te maken.
  • -no \ _symlink omzeilt de instelling van de symbolische link EXIM naar het geïnstalleerde binaire bestand. Installeer \ _arg kan worden gebruikt om deze opties aan het script door te geven. Bijvoorbeeld:
make INSTALL_ARG=-no_symlink install

Het installatiescript kan ook argumenten krijgen die aangeven welke bestanden moeten worden gekopieerd. Bijvoorbeeld om alleen het exim binaire en niets anders te installeren, zonder de symbolische link te maken, zou u kunnen gebruiken:

make INSTALL_ARG='-no_symlink exim' install

Info -documentatie installeren

Niet alle systemen gebruiken het GNU -info -systeem voor documentatie, en om deze reden is de TexInfo -bron van Exim’s documentatie niet opgenomen in de hoofddistributie. In plaats daarvan is het afzonderlijk beschikbaar van de FTP -site (zie paragraaf 1.5). Als u Info \ _directory in Local/Makefile hebt gedefinieerd en de TexInfo -bron van de documentatie wordt gevonden in de bronstructuur, bouwt het installeren van de installatie automatisch de info -bestanden en installeert deze.

 Nederlands