Il mio VPS esegue Ubuntu e vorrei poter ricevere e-mail sul mio dominio.
Come si configura facilmente un server di posta per farlo?
Il mio VPS esegue Ubuntu e vorrei poter ricevere e-mail sul mio dominio.
Come si configura facilmente un server di posta per farlo?
Risposte:
Ecco come ho installato la posta sui nostri computer 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 l'abbiamo provato: in primo luogo installa Dovecot, che va bene per la maggior parte, ma abbiamo ritenuto che Courier fosse il migliore dei due per le nostre esigenze. In secondo luogo, utilizza Postfix che è eccezionale, ma abbiamo anche bisogno di Exim in quanto è un server MTA / SMTP più potente. In terzo luogo, installa MySQL - nella configurazione che utilizzo preferiamo file flat per la configurazione in quanto è un punto di rottura in meno. Pensa cosa accadrebbe se MySQL si arrestasse in modo anomalo per qualche motivo sconosciuto. Altrimenti il resto dei pacchetti è piuttosto semplice e facile da gestire per un piccolo servizio di posta (si pensi a 1-2 domini di posta elettronica in totale).
Ci allontaniamo leggermente dal percorso delle normali configurazioni ma facilita la gestione.
Tutta la nostra mail è memorizzato in /var/mail/virtual/<domain>/<user>/mail
Così per esempio i futuri sarò con email@example.com
, fwd@example.com
, foo@example.com
per rappresentare un indirizzo email, uno spedizioniere di andare a example@gmail.com
, rispettivamente, e un indirizzo non valido. Nell'esempio sopra sarebbe /var/mail/virtual/example.com/email/mail
.
Mantengo anche un elenco di tutti i domini sul server /etc/valiases
ma ne parlerò più avanti.
Questa è più o meno la parte facile dell'installazione. Installa il postfix
pacchetto.
Installa Exim con apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Una volta installato dovrai modificare la configurazione predefinita di 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 righe appariranno in diverse parti del file, sostituirle di conseguenza)
Una volta completato, ricostruire la configurazione di exim con update-exim4.conf
Questo conclude le modifiche richieste per Exim
Installare 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 controllano alcuni punti per vedere se un login o un'e-mail 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 l'aggiunta di un nuovo utente va sintonizzata su:
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@example.com 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 ove appropriato. Inoltre - uid
e gid
devono essere gli ID numerici utente / gruppo per l'utente di posta.
userdbpw -md5 | userdb email@example.com set systempw
Questo ti chiederà una password, inserisci quella che desideri utilizzare per l'account.
makeuserdb
Infine, genera i file hash / shadow di userdb. Riavvia Courier e verifica se le modifiche funzionano:
authtest email@example.com
Dovrebbe produrre qualcosa di simile a
Authentication succeeded.
Authenticated: email@example.com (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 NON RIUSCITA: Operazione non consentita" invece modifica / etc / courier / authdaemonrc e aggiungi authuserdb alla riga dell'elenco dei modelli.
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 dovresti creare un file /etc/valiases
(crea se non esiste) con almeno la seguente riga:
*: :fail: No user at this address.
Cosa dice questo: se la posta in arrivo non corrisponde a nessun account di posta elettronica che ho registrato, allora la posta dovrebbe essere fallita e rimbalzata con un messaggio: "Nessun utente a questo indirizzo". Quindi tutta la posta inviata per dire: foo@example.com
sarebbe rimbalzata come un fallimento.
Tuttavia, abbiamo alcuni indirizzi e-mail che desideriamo mantenere altrove - diciamo esempio@gmail.com - per fare ciò dobbiamo creare /etc/valiases/example.com
e il contenuto del file dovrebbe essere il seguente:
fwd: example@gmail.com
*: :fail: No user at this address.
In questo modo, anche se fwd@example.com non corrisponde ad alcun account di posta elettronica sul server, corrisponde al /etc/valiases
file e la posta verrà inoltrata a example@gmail.com - Tuttavia, foo@example.com non riuscirà comunque con un messaggio "Nessun utente a questo indirizzo".
Il modo più semplice è correre sudo tasksel install mail-server
. Questo ti darà un server di posta elettronica con impostazioni predefinite corrette. Tutto quello che devi fare è rispondere ad alcune domande. Ovviamente, se necessario, è comunque possibile eseguire successivamente le configurazioni manuali, ma nella maggior parte dei casi non lo sarà. Segui semplicemente le indicazioni sullo schermo e dovresti stare bene.
La lettura dell'amministrazione dei servizi di posta elettronica è assolutamente raccomandabile però.
Riferimenti ufficiali:
sudo tasksel --task-packages mail-server
Non ho una "grande risposta" ma potresti trovare utili questi link https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail e https://help.ubuntu.com/community/Postfix
Lo sto facendo da solo, hai davvero bisogno di postfix, e nel mio caso volevo anche un server imap in modo da poter usare un bel client gui (senza menzionare alcun nome) su un altro computer. Ho usato questi documenti:
Dovecot (imap e pop3)
In realtà è piuttosto semplice, installato e funzionante in pochi minuti e sto ricevendo e-mail. Ciò è utile anche per verificare che tutto sia impostato correttamente sulla pingabilità .
Oh, e ovviamente dovrai impostare correttamente le voci DNS come di seguito (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
Nota il punto fermo alla fine dei server di posta e inserisci il tuo indirizzo IP e il nome del dominio dove appropriato.