Come si configura un server di posta elettronica?

59

Il mio VPS utilizza Ubuntu e mi piacerebbe poter ricevere e-mail nel mio dominio.

Come faccio a configurare facilmente un server di posta per fare questo?

    
posta Stefano Palazzo 29.07.2011 - 08:13

4 risposte

48

Ecco come ho impostato la posta sulle nostre macchine di produzione. Questi sono i criteri di cui avevamo bisogno:

  • Account di posta elettronica
  • Alias ​​email (server di inoltro)
  • IMAP, POP3 e SMTP

"Facile" (tl; dr)

Per prima cosa, voglio indirizzare quella che sembrerebbe la soluzione più semplice .

sudo tasksel install mail-server

Diversi problemi si sono verificati quando abbiamo provato questo: prima installa Dovecot, che va bene per la maggior parte, ma abbiamo ritenuto Courier il migliore tra i due per le nostre esigenze. In secondo luogo, utilizza Postfix che è ottimo, ma abbiamo anche bisogno di Exim in quanto è un server MTA / SMTP più potente. In terzo luogo, installa MySQL - nella configurazione che utilizzo preferiamo i file flat per la configurazione in quanto è un punto di rottura in meno. Pensa cosa succederebbe se MySQL si arrestasse in modo anomalo per qualche motivo sconosciuto. In caso contrario, il resto dei pacchetti è abbastanza semplice e di facile manutenzione per un piccolo servizio di posta (pensate che siano 1-2 i domini di posta elettronica totali).

La nostra configurazione

Struttura delle directory

Ci allontaniamo leggermente dal percorso delle normali configurazioni, ma semplifica la gestione.

Tutti i nostri messaggi sono memorizzati in /var/mail/virtual/<domain>/<user>/mail Quindi per gli esempi futuri userò [email protected] , [email protected] , [email protected] per rappresentare un indirizzo email, uno spedizioniere per passare a [email protected] e un indirizzo cattivo rispettivamente. Nell'esempio sopra sarebbe /var/mail/virtual/example.com/email/mail .

Gestisco anche un elenco di tutti i domini sul server in /etc/valiases , ma ne parleremo più avanti.

Postfix

Questa è più o meno la parte facile della configurazione. Installa il pacchetto postfix .

Exim

Installa Exim con apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy Una volta installato, dovrai modificare la configurazione predefinita exim per sostituire o aggiungere i seguenti valori:

domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes

(Queste linee appariranno in diverse parti del file, sostituirle ciascuna di conseguenza)

Una volta completata la ricostruzione della configurazione exim con update-exim4.conf Questo conclude le modifiche richieste per Exim

Corriere

Installa Courier con courier-base questo dovrebbe installare courier-authdaemon , courier-authlib* , courier-imap* , courier-pop* , courieruserinfo , courier-ssl

Onestamente non c'è molta configurazione al di fuori dello standard. Devi solo creare un database utente.

Account

Exim e Courier controlla alcuni punti per vedere se un account di accesso o un'email in arrivo sono validi. Exim controlla se il dominio è elencato come nome host locale o se il dominio è in /var/mail/virtual o se il dominio è in /etc/valiases .

Creazione di account di posta elettronica

Alla fine ho creato diversi strumenti per semplificare questo processo - ma aggiungere un nuovo utente va sul tono di:

mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/

Quindi aggiungi l'indirizzo al corriere userdb - in modo che possano accedere

userdb [email protected] set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail

Assicurati di sostituire i valori laddove appropriato. Inoltre, uid e gid devono essere gli ID utente numerici / di gruppo per l'utente di posta.

userdbpw -md5 | userdb [email protected] set systempw

Questo ti richiederà una password, inserisci quello che desideri utilizzare per l'account.

makeuserdb

Infine, genera i file hash / shadow userdb. Riavvia Courier e verifica se le tue modifiche funzionano:

authtest [email protected]

Dovrebbe produrre qualcosa di simile a

Authentication succeeded.

     Authenticated: [email protected]  (uid 8, gid 8)
    Home Directory: /var/mail/virtual/example.com/email
           Maildir: /var/mail/virtual/example.com/email/mail
             Quota: (none)
Encrypted Password: $LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
           Options: (none)

Se vedi "Autenticazione non riuscita: operazione non consentita" modifica invece / etc / courier / authdaemonrc e aggiungi authuserdb alla riga authmodulelist.

Dopo che tutti i test sono stati confermati, riavvia i vari servizi coinvolti ( courier-authdaemon , exim4 ), apri le porte 143, 25, 586, 495, 110 e imposta gli account nel tuo client di posta preferito.

Creazione di alias email

Per ogni dominio devi creare un file in /etc/valiases (crea se non esiste) con almeno la seguente riga:

*: :fail: No user at this address.

Che cosa dice: Se la posta in arrivo non corrisponde ad alcun account di posta elettronica che ho sul file, allora la posta dovrebbe fallire e rimbalzare con un messaggio: "Nessun utente a questo indirizzo". Quindi tutta la posta inviata per dire: [email protected] verrebbe rimbalzata come un errore.

Tuttavia, abbiamo qualche indirizzo email che desideriamo mantenere altrove, ad esempio [email protected], per fare ciò dobbiamo creare /etc/valiases/example.com e il contenuto del file dovrebbe essere il seguente:

fwd: [email protected]
*: :fail: No user at this address.

In questo modo, anche se [email protected] non corrisponde ad alcun account di posta elettronica sul server, corrisponde al file /etc/valiases e la posta verrà inoltrata a [email protected] - Tuttavia, foo @ example .com continuerà a fallire con un messaggio "Nessun utente a questo indirizzo".

    
risposta data Marco Ceppi 29.07.2011 - 20:41
14

Il modo più semplice è eseguire sudo tasksel install mail-server . Questo ti darà un server email con impostazioni predefinite sane. Tutto quello che devi fare è rispondere ad alcune domande. Ovviamente, è comunque possibile eseguire le configurazioni manuali in seguito, se necessario, ma nella maggior parte dei casi non lo sarà. Segui le indicazioni sullo schermo e dovresti stare bene.

È comunque consigliabile consultare l'amministrazione dei servizi di posta elettronica.

Riferimenti ufficiali:

  • link
risposta data Jo-Erlend Schinstad 29.07.2011 - 18:35
5

Non ho una "ottima risposta" ma potresti trovare questi link utili link Mail e < a href="https://help.ubuntu.com/community/Postfix"> link

    
risposta data fragos 29.07.2011 - 09:22
4

Lo sto facendo io stesso, hai davvero bisogno di postfix, e nel mio caso volevo anche un server imap in modo da poter usare un buon client gui (senza menzionare alcun nome) su un'altra macchina. Ho usato questi documenti:

Postfix

Dovecot (imap e pop3)

In realtà è piuttosto semplice, l'ho installato e funzionante in pochi minuti e sto ricevendo e-mail. Questo è utile anche per verificare che tutto sia impostato ok pingability .

Oh, e naturalmente dovrai configurare correttamente le voci DNS come sotto (in base alle impostazioni che hanno funzionato per me):

name   type   content
  @      A     ???.???.??.??    
mail     A     ???.???.??.??

e

         MX Records
Name                 Priority
mail.mydomain.com.      1
mail2.mydomain.com.     2

Annota l'arresto completo alla fine dei server di posta e inserisci l'indirizzo IP e il nome del dominio, se appropriato.

    
risposta data NimChimpsky 29.07.2011 - 09:27

Leggi altre domande sui tag