Mi VPS está ejecutando Ubuntu, y me gustaría poder recibir correos electrónicos en mi dominio.
¿Cómo configuro fácilmente un servidor de correo para hacer esto?
Mi VPS está ejecutando Ubuntu, y me gustaría poder recibir correos electrónicos en mi dominio.
¿Cómo configuro fácilmente un servidor de correo para hacer esto?
Respuestas:
Así es como configuré el correo en nuestras máquinas de producción. Estos son los criterios que necesitábamos:
Primero, quiero abordar lo que parece ser la solución más fácil .
sudo tasksel install mail-server
Varios problemas con esto ocurrieron cuando probamos esto: Primero instala Dovecot, lo cual está bien para la mayoría, pero hemos considerado que Courier es el mejor de los dos para nuestras necesidades. En segundo lugar, utiliza Postfix, que es excelente, pero también necesitamos Exim, ya que es un servidor MTA / SMTP más potente. En tercer lugar, instala MySQL: en la configuración que utilizo, preferimos los archivos planos para la configuración, ya que es un punto de ruptura menos. Piensa en lo que sucedería si MySQL fallara por alguna razón desconocida. De lo contrario, el resto de los paquetes es bastante sencillo y fácil de mantener para un servicio de correo pequeño (piense en 1-2 dominios de correo electrónico en total).
Nos desviamos un poco del camino de las configuraciones normales, pero facilita la gestión.
Todo nuestro correo electrónico se almacena en /var/mail/virtual/<domain>/<user>/mail
Así que para futuros ejemplos voy a estar utilizando email@example.com
, fwd@example.com
, foo@example.com
para representar una dirección de correo electrónico, un promotor de ir a example@gmail.com
, y una mala dirección, respectivamente. En el ejemplo anterior sería /var/mail/virtual/example.com/email/mail
.
También mantengo una lista de todos los dominios en el servidor /etc/valiases
pero más sobre eso más adelante.
Esta es más o menos la parte fácil de la configuración. Simplemente instale el postfix
paquete.
Instale Exim con apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Una vez instalado, deberá editar la configuración predeterminada de Exim para reemplazar o agregar los siguientes valores:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Estas líneas aparecerán en diferentes partes del archivo, reemplácelas en consecuencia)
Una vez que esté completo, reconstruya la configuración update-exim4.conf
de Exim con Esto concluye los cambios necesarios para Exim
Instalar mensajero con courier-base
este debe instalar courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
,courier-ssl
Sinceramente, no hay mucha configuración fuera del estándar. Solo tendrá que crear una base de datos de usuarios.
Exim y Courier verifican algunos lugares para ver si un inicio de sesión o un correo electrónico entrante son válidos. Exim comprueba si el dominio aparece como un nombre de host local, o si el dominio está dentro /var/mail/virtual
o si está dentro /etc/valiases
.
Finalmente creé varias herramientas para agilizar este proceso, pero agregar un nuevo usuario se ajusta a:
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/
Luego agregue la dirección al servicio de mensajería userdb, para que puedan iniciar sesión
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Asegúrese de reemplazar los valores donde corresponda. Además, uid
y gid
debe ser el ID numérico de usuario / grupo para el usuario de correo.
userdbpw -md5 | userdb email@example.com set systempw
Esto le pedirá una contraseña, ingrese la que desea usar para la cuenta.
makeuserdb
Finalmente, genere los archivos hasd / shadow userdb. Reinicie Courier y pruebe si sus cambios funcionan:
authtest email@example.com
Debería producir algo similar 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)
Si ve "Error de autenticación: operación no permitida", edite / etc / courier / authdaemonrc y agregue authuserdb a la línea authmodulelist.
Una vez que se hayan confirmado todas las pruebas, reinicie los diversos servicios involucrados ( courier-authdaemon
, exim4
), abra los puertos 143, 25, 586, 495, 110 y configure las cuentas en su cliente de correo favorito.
Para cada dominio, debe crear un archivo /etc/valiases
(crear si no existe) con al menos la siguiente línea:
*: :fail: No user at this address.
Qué dice esto: si el correo entrante no coincide con ninguna cuenta de correo electrónico que tengo en el archivo, entonces el correo debe fallar y rebotar con un mensaje: "Ningún usuario en esta dirección". Por lo tanto, todo el correo enviado a decir: foo@example.com
sería rechazado como un fracaso.
Sin embargo, tenemos algunas direcciones de correo electrónico que deseamos mantener en otro lugar, por ejemplo, example@gmail.com, para hacerlo necesitamos crear /etc/valiases/example.com
y el contenido del archivo debe ser el siguiente:
fwd: example@gmail.com
*: :fail: No user at this address.
De esa manera, aunque fwd@example.com no coincide con ninguna cuenta de correo electrónico en el servidor, coincide con el /etc/valiases
archivo y el correo se reenviará a example@gmail.com. Sin embargo, foo@example.com seguirá fallando con un mensaje "Ningún usuario en esta dirección".
La forma más fácil es correr sudo tasksel install mail-server
. Eso le dará un servidor de correo electrónico con valores predeterminados sanos. Todo lo que tiene que hacer es responder algunas preguntas. Obviamente, aún puede hacer configuraciones manuales después si es necesario, pero en la mayoría de los casos no lo será. Simplemente siga las instrucciones en pantalla y debería estar bien.
Sin embargo, leer sobre la administración de los servicios de correo electrónico es absolutamente recomendable.
Referencias oficiales:
sudo tasksel --task-packages mail-server
No tengo una "gran respuesta", pero puede encontrar estos enlaces útiles https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail y https://help.ubuntu.com/community/Postfix
Acabo de hacer esto yo mismo, de hecho necesitas postfix, y en mi caso también quería un servidor imap para poder usar un buen cliente gui (sin mencionar ningún nombre) en otra máquina. Usé estos documentos:
Dovecot (imap y pop3)
En realidad es bastante simple, lo puse en funcionamiento en unos minutos y estoy recibiendo correos electrónicos. Esto también es útil para comprobar que todo está configurado bien pingability .
Ah, y por supuesto, tendrá que configurar sus entradas de dns correctamente como se muestra a continuación (según la configuración que funcionó para mí):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
y
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Tenga en cuenta la parada completa al final de los servidores de correo e inserte su dirección IP y nombre de dominio cuando corresponda.