EXIM è software di trasferimento di posta open source altamente personalizzabile

exim Servizio di posta elettronica transazionale

Agente di trasferimento di posta open source in alternativa a Sendmail

EXIM è un agente di trasferimento di posta open source altamente personalizzabile per il routing e la consegna e -mail. È la scelta numero uno per le organizzazioni di livello aziendale per la sua flessibilità.

Panoramica ### ** ** La comunicazione tramite posta elettronica è diventata primitiva nella nostra vita. Per inviare e -mail da desktop, mobile o qualsiasi altro dispositivo è un affare quotidiano per la maggior parte delle persone. Simple Mail Transfer Protocol (SMTP) è il protocollo standard utilizzato per inviare e -mail. IMAP e POP3 sono i protocolli per ricevere e -mail. IMAP ha alcuni vantaggi sul POP a causa della sincronizzazione attraverso i dispositivi. Pertanto, è cruciale un agente di trasferimento di posta che open source e supporta tutti questi protocolli richiesti. L’esecuzione del tuo agente di trasferimento di posta è un lavoro molto noioso e quindi la scelta che fai per il software MTA richiede un’analisi profonda contro la matrice requisito. EXIM è uno dei più flessibili agenti di trasferimento di posta open source che può essere utilizzato come sostituzione dell’agente di trasferimento di posta predefinito dei sistemi più unix. EXIM viene fornito con un fascio di funzionalità all’avanguardia tra cui la compatibilità Sendmail, il supporto CPanel, la configurazione flessibile e soprattutto il supporto della comunità open source. EXIM è come un framework con il suo linguaggio dell’applicazione per configurare complesse. Ha una logica avanzata di elaborazione della posta in più fasi che la aiuta a risolvere casi d’uso complessi. Sendmail è già perso in postfix in tutti gli aspetti, tuttavia, Postfix è meno versatile di Exim. Ha un eccellente supporto di integrazione e fornisce tutto ciò che un amministratore di sistema può chiedere. EXIM supporta la maggior parte delle funzionalità dell’agente di trasferimento di posta in un modo o nell’altro.

Requisiti di sistema

Prima di costruire EXIM, è necessario creare un file di configurazione locale che specifica le opzioni indipendenti da qualsiasi sistema operativo con il nome locale/makefile. Un modello per questo file viene fornito come file SRC/EDITME e contiene descrizioni complete di tutte le impostazioni delle opzioni in essa. Queste descrizioni non sono quindi ripetute qui. Se stai costruendo Exim per la prima volta, la cosa più semplice da fare è copiare SRC/EDITME su Local/MakeFile, quindi leggerlo e modificarlo in modo appropriato. Esistono tre impostazioni che devi fornire, perché Exim non si costruirà senza di loro. Sono la posizione del file di configurazione di runtime (configure \ _file), la directory in cui verranno installati binari EXIM (bin \ _directory) e l’identità dell’utente EXIM (Exim \ _User e forse exim \ _Group). Il valore di configure \ _file può in effetti essere un elenco di filesseggi separati da colon; Exim ne usa il primo che esiste. Esistono alcuni altri parametri che possono essere specificati al momento della costruzione o in fase di esecuzione, per consentire lo stesso binario di essere utilizzato su un numero di macchine diverse. Tuttavia, se le posizioni della directory di spool di Exim e la directory dei file di registro (se non all’interno della directory spool) sono fissa come un file di configurazione malformato) può essere registrato. Le interfacce di EXIM per chiamare il software di scansione virus e spam direttamente dagli elenchi di controllo degli accessi non sono compilate per impostazione predefinita. Se vuoi includere queste strutture, devi impostare

WITH_CONTENT_SCAN=yes

Nel tuo locale/makefile. Per i dettagli delle strutture stesse Se hai intenzione di creare il monitor EXIM, è richiesto un processo di configurazione simile. Il file Exim \ _Monitor/EditMe deve essere modificato in modo appropriato per l’installazione e salvato con il nome locale/Eximon.conf. Se sei soddisfatto delle impostazioni predefinite descritte in Exim \ _Monitor/EditMe, Local/Eximon.conf può essere vuoto, ma deve esistere. Questa è tutta la configurazione necessaria in casi semplici per i sistemi operativi noti. Tuttavia, il processo di costruzione è impostato in modo tale che sia facile sovrascrivere le opzioni impostate per impostazione predefinita o mediante file di configurazione specifici del sistema operativo, ad esempio, per modificare il compilatore C, che è predefinito in GCC.

Caratteristiche

EXIM supporta tutte le funzionalità moderne che puoi immaginare dai migliori software per agenti di trasferimento di posta open source. Queste sono alcune delle caratteristiche principali di Exim:

  • Exim segue lo stesso approccio generale del controllo decentralizzato che fa Smail. Non esiste un processo centrale che eseguono la gestione complessiva della consegna della posta. Tuttavia, a differenza di Smail, i processi di consegna indipendenti condividono i dati sotto forma di “suggerimenti”, il che rende la consegna più efficiente in alcuni casi. I suggerimenti sono conservati in una serie di file DBM. Se uno di questi file è perso, l’unico effetto è quello di modificare il modello di tentativi di consegna e tentativi.
  • Molte opzioni di configurazione possono essere fornite come stringhe di espansione, che vengono trasformate in vari modi quando vengono utilizzate. Poiché questi possono includere ricerche di file, se lo si desidera, gran parte dell’operazione di Exim può essere effettuata. Ad esempio, è possibile eseguire la consegna locale su una macchina su cui gli utenti non hanno account. La massima flessibilità può essere ottenuta (a un prezzo) eseguendo un interprete Perl mentre espande una stringa.
  • Accesso ai messaggi storici di visualizzazione.
  • Accesso per visualizzare il completo in uscita e amp; coda di messaggi in arrivo.
  • EXIM ha algoritmi di riproduzione flessibile, applicabili agli indirizzi di regia e routing, nonché alla consegna.
  • Exim contiene strutture di riscrittura di intestazione e busta.
  • Gli indirizzi non qualificati sono accettati solo da host o reti specificati.
  • EXIM può eseguire più consegne lungo lo stesso canale SMTP dopo che le consegne sono state ritardate.
  • EXIM può essere configurato per eseguire immediatamente consegne locali ma per lasciare le consegne remote (SMTP) fino a quando il messaggio non viene raccolto da un processo in coda. Ciò aumenta la probabilità che più messaggi vengano inviati una singola connessione SMTP.
  • Le consegne remote dello stesso messaggio a host diversi possono facoltativamente essere eseguite in parallelo.
  • I messaggi SMTP in arrivo iniziano la consegna non appena vengono ricevuti, senza aspettare la chiusura della chiamata SMTP.
  • EXIM ha supporto per l’estensione dell’autenticazione SMTP per i client di autenticazione e per l’estensione StartTLS per l’impostazione di connessioni crittografate.
  • Le espressioni regolari compatibili perl sono disponibili in una serie di parametri di configurazione.
  • Gli elenchi di domini possono includere ricerche di file, consentendo di supportare un numero molto elevato di domini locali.
  • EXIM supporta il controllo facoltativo del percorso di ritorno in arrivo (mittente) e gli indirizzi del ricevitore in quanto vengono ricevuti da SMTP.
  • Le chiamate SMTP da macchine specifiche, facoltativamente da identificativi specifici, possono essere bloccate e anche i messaggi SMTP in arrivo da mittenti specifici possono essere bloccati. EXIM supporta anche l’uso dell’elenco di blocco in tempo reale (RBL).
  • Gli host che possono inoltrare la posta tramite una macchina su un altro dominio esterno possono essere controllati tramite numero IP o numero di rete IP. È inoltre disponibile il controllo del relè per dominio del destinatario e indirizzo mittente.
  • I messaggi in coda possono essere “congelati” e “scongelati” dall’amministratore.
  • EXIM può gestire una serie di domini locali indipendenti sulla stessa macchina; Ogni dominio può avere i propri file alias, ecc. Questa funzione è talvolta nota come “domini virtuali”.
  • Le mailing list semplici possono essere gestite direttamente dallo stesso EXIM (ma per le operazioni di mailing list “seria”, è meglio utilizzarlo insieme al software di mailing list specialistica).
  • Exim Stats Home Directory di un utente prima di cercare un file `.Forward ‘, al fine di rilevare il caso di un supporto NFS mancante. La consegna è ritardata se la directory non è disponibile.
  • EXIM contiene una struttura di filtraggio della posta incorporata opzionale. Questo può essere configurato per consentire agli utenti di fornire file di filtro personali ed è anche possibile applicare un file di filtro a livello di sistema a ogni messaggio.
  • Esiste un supporto per più cassette postali utente controllate da prefissi o suffissi sul nome utente, tramite il meccanismo di filtro o tramite più file “.forward”.
  • Gli avvisi periodici vengono automaticamente inviati ai mittenti dei messaggi al ritardo della consegna - Il tempo tra gli avvisi è configurabile. Gli avvertimenti possono essere resi subordinati al contenuto del messaggio.
  • Una coda può essere iniziata manualmente a fornire solo una parte particolare della coda o quei messaggi con un destinatario il cui indirizzo contiene una determinata stringa. C’è supporto per il comando ETRN in SMTP per interfacciarsi a questo.
  • Exim può essere configurato per essere eseguito sempre come root, tranne quando si esegue consegne locali, cosa che fa sempre in un processo separato con un UID e GID appropriati. In alternativa, può essere configurato per eseguire come root solo quando necessario; In particolare, non è necessario eseguire come root durante la ricezione di messaggi in arrivo o quando si inviano messaggi su SMTP. Vedi il capitolo 55 per una discussione sui problemi di sicurezza.
  • Ho cercato di rendere più chiara e semplice la formulazione dei messaggi di fallimento della consegna, a beneficio di quelle persone meno sperimentate che ora utilizzano la posta elettronica. La formulazione alternativa per questi messaggi può essere fornita in un file separato.
  • Il monitor EXIM è un extra opzionale; Visualizza informazioni sull’elaborazione di EXIM in una finestra X e un amministratore può eseguire una serie di azioni di controllo dall’interfaccia della finestra. Tuttavia, tutte queste azioni sono disponibili anche dall’interfaccia della riga di comando.

Istruzioni per l’installazione

Installazione di binari e script exim

Il comando effettua l’installazione esegue lo script EXIM \ _install senza argomenti. Lo script copia i binari e gli script di utilità nella directory il cui nome è specificato dall’impostazione bin \ _directory in locale/makefile. Lo script di installazione copia i file solo se sono più nuovi dei file che stanno per sostituire. L’Exim Binary deve essere di proprietà di Root e avere il bit setuid impostato, per le normali configurazioni. Pertanto, è necessario eseguire l’installazione come root in modo che possa impostare il binario Exim in questo modo. Tuttavia, in alcune situazioni speciali (ad esempio, se un host non sta facendo consegne locali) potrebbe essere possibile eseguire Exim senza fare la radice binaria di setuid (vedere il capitolo 56 per i dettagli). Il file di configurazione di runtime di EXIM è denominato dall’impostazione configura \ _file in locale/makefile. Se questo nomina un singolo file e il file non esiste, il file di configurazione predefinito src/configure.default viene copiato lì dallo script di installazione. Se esiste già un file di configurazione di runtime, viene lasciato solo. Se configure \ _file è un elenco separato dal colon, nominando diversi file alternativi, non è installato nessun impostazione predefinita. Una modifica viene apportata al file di configurazione predefinito quando è installato: la configurazione predefinita contiene un router che fa riferimento a un file di alias di sistema. Il percorso di questo file è impostato sul valore specificato da System \ _aliases \ _file in Local/Makefile (/etc/alias per impostazione predefinita). Se il file di alias di sistema non esiste, lo script di installazione lo crea e emette un commento all’utente. Il file creato non contiene alias, ma contiene commenti sugli alias che un sito dovrebbe normalmente avere. Gli alias di posta sono stati tradizionalmente conservati in /etc /alias. Tuttavia, alcuni sistemi operativi stanno ora utilizzando/ecc/posta/alias. Dovresti verificare se il tuo è uno di questi e modificare la configurazione di Exim, se necessario. La configurazione predefinita utilizza il nome dell’host locale come unico dominio locale ed è impostata per eseguire consegne locali nella directory condivisa /var /posta, in esecuzione come utente locale. Gli alias di sistema e i file .Forward nelle directory home degli utenti sono supportati, ma non è configurato alcun supporto NIS o NIS+. I domini diversi dal nome dell’host locale vengono instradati utilizzando il DNS, con la consegna su SMTP. È possibile installare EXIM per scopi speciali (come la costruzione di una distribuzione binaria) in una parte privata del file system. Puoi farlo con un comando come

make DESTDIR=/some/directory/ install

Ciò ha l’effetto di pre-in pensione la directory specificata in tutti i percorsi del file, ad eccezione del nome del file alias di sistema che appare nella configurazione predefinita. (Se viene creato un file alias predefinito, il suo nome viene modificato.) Per la compatibilità all’indietro, viene utilizzato root se Destdir non è impostato, ma questo utilizzo è deprecato. Esecuzione Make Installa non copia lo script di conversione EXIM 4 convert4R4. Probabilmente lo eseguirai solo una volta se stai aggiornando da EXIM 3. Nessuno dei file di documentazione nella directory DOC viene copiato, ad eccezione dei file di informazioni quando hanno impostato informazioni \ _directory, come descritto nella Sezione 4.17 di seguito. Per i programmi di utilità, le vecchie versioni vengono rinominate aggiungendo il suffisso .o ai loro nomi. L’exim stesso stesso è gestito in modo diverso. È installato con un nome che include il numero di versione e il numero di compilazione, ad esempio Exim-4.94-1. Lo script organizza quindi un collegamento simbolico chiamato Exim per indicare il binario. Se stai aggiornando una versione precedente di EXIM, lo script si preoccupa di assicurarsi che il nome Exim non sia mai assente dalla directory (come visto da altri processi). Se vuoi vedere cosa farà l’installazione prima di eseguirla in realtà, puoi passare l’opzione -n ​​allo script di installazione con questo comando:

make INSTALL_ARG=-n install

Il contenuto dell’installazione della variabile \ _ARG viene passato allo script di installazione. Non è necessario essere root per eseguire questo test. In alternativa, è possibile eseguire direttamente lo script di installazione, ma questo deve essere all’interno della directory build. Ad esempio, dalla directory EXIM di livello superiore è possibile utilizzare questo comando:

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

Esistono altre due opzioni che possono essere fornite allo script di installazione.

  • -No \ _Chown bypassa la chiamata per modificare il proprietario del binario installato su root e la chiamata per renderlo un binario setuid.
  • -NO \ _SymLink bypassa l’impostazione del collegamento simbolico Exim al binario installato. Installa \ _arg può essere utilizzato per passare queste opzioni allo script. Per esempio:
make INSTALL_ARG=-no_symlink install

Lo script di installazione può anche essere fornito argomenti che specificano quali file devono essere copiati. Ad esempio, per installare solo il binario Exim e nient’altro, senza creare il collegamento simbolico, potresti usare:

make INSTALL_ARG='-no_symlink exim' install

Installazione della documentazione di informazioni

Non tutti i sistemi utilizzano il sistema informativo GNU per la documentazione e, per questo motivo, la fonte Texinfo della documentazione di Exim non è inclusa nella distribuzione principale. Invece è disponibile separatamente dal sito FTP (vedere la Sezione 1.5). Se hai definito informazioni \ _Directory in Local/MakeFile e la fonte Texinfo della documentazione si trova nell’albero di origine, eseguendo Installa installa automaticamente i file di informazioni e li installa.

 Italiano