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:
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).
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/
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.
Questa è più o meno la parte facile del setup. Basta installare 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
concludono le modifiche richieste per Exim
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.
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
.
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.
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.