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?
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:
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).
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.
Questa è più o meno la parte facile della configurazione. Installa il pacchetto postfix
.
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
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.
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
.
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.
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".
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:
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.