Come posso configurare un server di posta elettronica?

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?

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

  • Account email
  • Alias ​​email (inoltro)
  • IMAP, POP3 e SMTP

“Facile” (tl; dr)

Innanzitutto, voglio affrontare 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 dei 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 a un totale di 1-2 domini di posta elettronica).

La nostra configurazione

Struttura della directory

Ci allontaniamo leggermente al di fuori del percorso delle normali configurazioni, ma rende più facile la gestione.

Tutta la nostra posta è archiviata in /var/mail/virtual///mail Quindi per gli esempi futuri userò [email protected] , [email protected] , [email protected] a rappresentano un indirizzo email, uno spedizioniere per andare a [email protected] e un indirizzo [email protected] rispettivamente. Nell’esempio precedente sarebbe /var/mail/virtual/example.com/email/mail .

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

Postfix

Questa è più o meno la parte facile del setup. Basta installare 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 concludono 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

Lì onestamente non c’è molta configurazione al di fuori dello standard. Dovrai solo creare un database utente.

conti

Exim e Courier controlla alcuni punti per vedere se un login o una email in arrivo sono validi. Exim controlla se il dominio è elencato come un hostname 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 al ritmo 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: $1$LOLCATS$THISWILLBEAHASH. Cleartext Password: (none) Options: (none) 

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

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

Creazione di alias email

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

 *: :fail: No user at this address. 

Che cosa dice questo: se la posta in arrivo non corrisponde ad alcun account di posta elettronica che ho su 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ò abbiamo bisogno di 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 /etc/valiases e la posta verrà inoltrata a [email protected] – Tuttavia, [email protected] continuerà a fallire con un messaggio “Nessun utente a questo indirizzo”.

Il modo più semplice è eseguire sudo tasksel install mail-server . Ciò ti darà un server di posta con impostazioni predefinite sane. Tutto quello che devi fare è rispondere ad alcune domande. Ovviamente, è comunque ansible 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:

Non ho una “ottima risposta” ma potresti trovare questi link utili https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail e https://help.ubuntu.com/community/Postfix

Ho appena fatto questo, ho 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 è anche utile per verificare che tutto sia impostato su 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 il tuo indirizzo IP e il nome del dominio, ove appropriato.