Cómo configurar Postfix y Dovecot con usuarios de dominio virtual en Linux - Parte 2

Cómo configurar Postfix y Dovecot con usuarios de dominio virtual en Linux - Parte 2

En el artículo anterior de esta serie, explicamos cómo configurar y administrar la base de datos de Mail Server utilizando de forma segura PhPMyAdmin.

Requisito:

  1. Instale el servidor de correo Postfix y DoVecot con Mariadb - Parte 1
Configurar Postfix y Dovecot con usuarios de dominio virtual - Parte 2

Ahora es el momento de configurar los programas internos que harán realidad el envío y la recepción de correos electrónicos: Sufijo y Palomar (Para manejar correos electrónicos salientes e entrantes, respectivamente).

Configuración del servidor de correo postfix

Antes de comenzar a configurar Sufijo, Valía y bien echar un vistazo a sus páginas de hombre aquí, poniendo especial énfasis en la sección titulada "Información para nuevos usuarios de postfix". Si lo hace, le resultará más fácil seguir con este tutorial.

En pocas palabras, debe saber que hay dos archivos de configuración para Sufijo:

  1. /etc/postfix/main.CF (Parámetros de configuración postfix, consulte hombre 5 postconf para más detalles).
  2. /etc/postfix/maestro.CF (Postfix Master Daemon Configuraton, ver hombre 5 maestro para mas detalles).

En /etc/postfix/main.CF, Localice (o agregue, si es necesario) las siguientes líneas y asegúrese de que coincidan con los valores indicados a continuación:

principal.CF
append_dot_mydomain = no biff = no config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 readme_directory = no smtp_tls_session_cache_database = btree:$data_directory/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (CentOS) smtpd_tls_cert_file = /etc/pki/dovecot/ Certs/Dovecot.PEM SMTPD_TLS_KEY_FILE =/ETC/PKI/DOVECOT/Private/Dovecot.pem smtpd_tls_session_cache_database = btree: $ data_directory/smtpd_scache smtpd_use_tls = sí virtual_transport = dovecot smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth 

Las siguientes tres configuraciones son de especial importancia. En los archivos indicados en amarillo configuraremos el acceso de PostFix al Dominios_tbl, Usuarios_tbl, y Alias_tbl mesas:

virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.CF virtual_mailbox_maps = mysql:/etc/postfix/mariadb-tusers.CF virtual_alias_maps = mysql:/etc/postfix/mariadb-valias.CF 

Tenga en cuenta que puede elegir diferentes nombres de archivo anteriores, siempre que se asegure de crearlos e insertar los siguientes contenidos en ellos. En cada caso, reemplace Tu contraseña con la contraseña que eligió para el dba usuario Parte 1, o también puedes usar el Mariada credenciales raíz para el usuario y la contraseña a continuación.

Además, asegúrese de utilizar exactamente los mismos nombres de la base de datos y tablas del servidor de correo electrónico creadas en Parte 1.

En /etc/postfix/mariadb-vdomains.CF:

mariadb-vdomains.CF
user = DBA Password = YourPassword Hosts = 127.0.0.1 dbname = correajeserver_db query = Seleccione 1 de Domains_tbl Where DomainName = "%s" 

En /etc/postfix/mariadb-tusers.CF:

chupas de mariadas.CF
user = DBA Password = YourPassword Hosts = 127.0.0.1 dbname = correajeserver_db query = Seleccione 1 de ussers_tbl donde correaje = "%s" 

En /etc/postfix/mariadb-valias.CF:

mariadb-valias.CF
user = DBA Password = YourPassword Hosts = 127.0.0.1 dbname = emailserver_db Query = Seleccionar destino de alias_tbl donde fuente = "%s" 

Finalmente, no olvide cambiar los permisos a estos archivos a 640:

# CHMOD 640/ETC/POSTFIX/MARIADB-VDOMINS.CF # CHMOD 640/ETC/POSTFIX/MARIADB-VUSERS.cf # chmod 640/etc/postfix/mariadb-valias.CF 

Y la propiedad del usuario raíz y grupo sufijo:

# Root Chown: postfix/etc/postfix/mariadb-vdomains.CF # Chown Root: Postfix/Etc/Postfix/Mariadb-Vusers.CF # Chown Root: Postfix/etc/Postfix/Mariadb-Valias.CF 

A continuación, para habilitar conexiones seguras, debemos asegurarnos de que la siguiente configuración no se comine (o se agregue, si es necesario) en /etc/postfix/maestro.CF:

maestro.CF
envío inet n -n - -smtpd -o syslog_name = postfix/envsion -o smtpd_tls_security_level = encrypt -o smtpd_sasl_auth_enable = yes -o smtpd_reject_unlisteded_recipient = no -o smtpdpd_reciMient limpieza unix n - n - 0 limpieza qmgr unix n - n 300 1 qmgr tlsmgr unix - - n 1000? 1 TLSMGR Rewrite Unix - - N - - Trivial -Rewrite Bounce Unix - - N - 0 Bounce Difer Unix - - N - 0 Bounce Trace Unix - - N - 0 Bounce Verify Unix - - N - 1 Verify Flush Unix N - N 1000? 0 FLUSH ProxyMap Unix - - N - - ProxyMap ProxyWrite UNIX - - N - 1 ProxyMap SMTP UNIX - - N - - SMTP RELEY UNIX - - N - - SMTP Showq Unix n - N - - Showq Error Unix - - N - - Error Reinty Unix - - N - - Error Descarte Unix - - N - - Descarte Local Unix - N N - - Local #Virtual Unix - N N - - Virtual LMTP UNIX - - N - - LMTP Anvil Unix - - N - 1 Anvil Scacle Unix - - n - 1 scache 

Nota: La sangría en las líneas que comienzan con el -O La opción es crítica; De lo contrario, la verificación de Postfix devolverá un error:

Verifique la configuración de Postfix

Antes de guardar los cambios, agregue las siguientes líneas en la parte inferior del archivo:

maestro.CF
Dovecot Unix - N N - - Pipe Flags = drhu user = vmail: vmail argv =/usr/libexec/dovecot/entrega -f $ remitente -d $ destinatario 

En este punto, es esencial verificar si Postfix tiene acceso a las tablas de la base de datos y los dominios, cuentas y alias en los que creamos en Parte 1.

Para hacerlo, usaremos el postmap Comando, una utilidad para probar la comunicación con las tablas Postfix buscará durante la operación, pero en primer lugar tendremos que reiniciar Postfix:

# SystemCTL Postfix reiniciar # Postmap -q LinuxNewz.com mysql:/etc/postfix/mariadb-vdomains.CF # Postmap -Q ​​Someotherdomain.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q [correo electrónico protegido] mysql:/etc/postfix/mariadb -volers.cf # postmap -q [correo electrónico protegido] mysql:/etc/postfix/mariadb -volers.cf # postmap -q [correo electrónico protegido] mysql:/etc/postfix/mariadb -volers.cf # postmap -q [correo electrónico protegido] mysql:/etc/postfix/mariadb -valias.CF 

En la imagen a continuación podemos ver que para los registros existentes en la base de datos, un 1 es regresado. De lo contrario, no se muestra nada a la pantalla. En el caso de la verificación de alias, tenga en cuenta que se devuelve la cuenta de correo electrónico real a la que se asigna el alias:

Verifique la comunicación de la tabla Postfix

Tenga en cuenta que somos NO Autenticación de las credenciales establecidas para cada cuenta de correo electrónico, solo estamos probando la capacidad de PostFix para detectar esos registros en la base de datos.

Por lo tanto, si obtiene una salida diferente a la anterior, asegúrese de estar utilizando un par de usuarios / contraseñas válidos en mariadb-vdomains.CF, chupas de mariadas.CF, y mariadb-valias.CF (o como haya elegido llamar a esos archivos).

Configuración de Dovecot

Como un IMAP / Pop3 servidor, Dovecot proporciona una forma para los usuarios a través de un Correo de agente de usuario (MUA, o también conocido como cliente), como Trueno o panorama, por nombrar algunos ejemplos para acceder a su correo.

Para comenzar, creemos un usuario y un grupo para manejar los correos electrónicos (lo necesitaremos ya que nuestras cuentas de correo electrónico no están asociadas con un usuario del sistema). Puedes usar otro Uid y Aturdir (otro que 5000 Como lo hacemos a continuación) siempre que no esté en uso y sea un número alto:

# groupAdd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home /vmail -m 

La configuración de Dovecot se divide en varios archivos de configuración (asegúrese de que las siguientes líneas no se comien y / o editen las que coincidan con la configuración indicada a continuación).

En /etc/dovecot/dovecot.confusión:

palomar.CF
!include_try/usr/share/dovecot/protocols.d/*.Protocolos de protocolo = IMAP POP3 LMTP !incluir confes.d/*.confusión !incluir_try local.confusión 

En /etc/dovecot/conf.D/10-AUTH.confusión (Solo habilite la autenticación a través de SQL y deje otros métodos de autenticación comentados):

10-Auth.confusión
disable_laintext_auth = yes auth_mechanisms = letrero inicio de sesión !incluir auth-sql.confusión.extendido 

En /etc/dovecot/conf.d/auth-sql.confusión.extendido (Tenga en cuenta que almacenaremos correos electrónicos dentro de un directorio llamado Tu dominio.comunicarse adentro /Home/Vmail, que necesitas crear si no existe. En nuestro caso lo hicimos mkdir/home/vmail/linuxnewz.comunicarse para administrar correos electrónicos para ese dominio):

Auth-SQL.confusión.extendido
passdb driver = sql args =/etc/dovecot/dovecot-sql.confusión.Ext userDB controlador = static args = uid = vmail gid = vmail home =/home/vmail/%d/%n/maildir 

Se crearán bandejas de entrada individuales para cuentas de usuario cuando se reciban por primera vez los correos electrónicos para dichas cuentas.

En /etc/dovecot/conf.d/10 correo electrónico.confusión:

10 correo electrónico.confusión
mail_location = mailDir:/home/vmail/%d/%n/maildir espacio de entrada de entrada inbox = sí mail_privileged_group = mail mbox_write_locks = fcntl 

En /etc/dovecot/conf.d/10-maestro.confusión:

10-maestro.confusión
servicio imap-login inet_listener imap port = 143 inet_listener iMaps  servicio pop3-login inet_listener pop3 port = 110 inet_listener Pop3S  LMTP Mode = 0600 user = Postfix group = postfix auth unix_listener/var/spool/postfix/private/auth mode = 0666 user = postfix group = postfix unix_listener auth-userdb mode = 0600 user = vmail user = Dovecot Service Auth-Worker user = vmail Service Dict unix_listener dict  

En /etc/dovecot/conf.D/10-SSL.confusión (Reemplace el certificado y las rutas de clave si planea usar un certificado firmado por una CA):

10-SSL.confusión
SSL = requerido ssl_cert =  

En /etc/dovecot/dovecot-sql.confusión.extendido Ingrese la información de su base de datos y las credenciales del usuario administrativo creado en Parte 1.

Importante: Si su contraseña contiene un asterisco (#), Deberá encerrar la cadena de conexión como se indica en el ejemplo a continuación:

dovecot-sql.confusión.extendido
controlador = mysql conection = "host = 127.0.0.1 dbname = emailserver_db user = dba contraseña = passwith#aquí "default_pass_scheme = sha512-crypt contraseña_query = seleccionar correo electrónico como usuario, contraseña de ussers_tbl donde correo electrónico ="%u "; 

Además, puede configurar el registro para Dovecot para estar separado de Postfix en /etc/dovecot/conf.d/10 registro.confusión:

log_path =/var/log/dovecot.registro 

Finalmente, asegúrese de que el registro de Dovecot sea accesible para el usuario palomar:

# chown vmail: dovecot/var/log/dovecot.log # chmod 660/var/log/dovecot.registro 

Verificar y arreglar la configuración de Postifix y habilitar SMTP, POP3 e IMAP en Firewall

Si se encuentra con algún problema al configurar Postfix y / o Dovecot, en lugar de enviar todos los archivos de configuración para solicitar ayuda, puede obtener un resumen de configuración (solo líneas no commentadas) con:

# postconf -n # resumen para/etc/postfix/main.cf # postconf -m # resumen para/etc/postfix/maestro.cf # doveconf -n # Resumen de todos los archivos de configuración para Dovecot 

Además, asegúrese de que las bandejas de entrada de correo electrónico sean legibles por vmail solo:

# chown -r vmail: vmail /home /vmail 

Los archivos de configuración también deben ser legibles por vmail y palomar Usuarios:

# chown -r vmail: dovecot /etc /dovecot # chmod -r o -rwx /etc /dovecot 

Finalmente, asegúrese de habilitar Smtp, Pop3, y IMAP A través del firewall:

# firewall-cmd --add-puerto = 143/tcp # firewall-cmd --add-port = 143/tcp --Permanent # firewall-cmd --add-port = 110/tcp # firewall-cmd --add-- Port = 110/TCP --Permanent # firewall-cmd --add-puerto = 587/tcp # firewall-cmd --add-puert = 587/tcp --permanent 

Configurar Thunderbird como cliente de correo electrónico para Postfix

Habiendo asegurado acceso a través del firewall para los puertos utilizados en las comunicaciones por correo electrónico, es hora de configurar un cliente de correo electrónico. Usando [correo electrónico protegido] y su contraseña correspondiente, junto con correo.Linuxnewz.comunicarse Como servidor IMAP (o POP3) y SMTP, estamos listos para comenzar a enviar y recibir correos electrónicos hacia y desde dicha cuenta:

Postfix: Configurar el cliente Thunderbird

Puede ignorar de manera segura el mensaje de advertencia que se muestra porque está utilizando un certificado que no está firmado por una CA confiable de terceros:

Thunderbird: Agregar excepción de seguridad

Vamos a componer un breve correo electrónico de prueba y haga clic en Enviar:

Componga un correo electrónico en Thunderbird

Cuando se le solicite que acepte el certificado autofirmado para el servidor saliente, confirme previamente como antes:

Thunderbird: Aceptar certificado SSL

Finalmente, vaya al correo electrónico del destino para ver si recibió el correo electrónico que se acaba de enviar. Si es así, responda y vea si se devuelve a la Bandeja de entrada de correo electrónico de origen (de lo contrario, consulte el registro de Postfix en /var/log/maillog o el registro de Dovecot en /var/log/dovecot.registro Para información de solución de problemas):

Verifique la entrega de correo electrónico Postfix y Dovecot

Ahora tiene un servidor de correo electrónico Postfix y Dovecot y puede comenzar a enviar y recibir correos electrónicos.

Resumen

En este artículo hemos explicado cómo configurar Postfix y Dovecot para manejar el tráfico de correo electrónico en su servidor de Linux. Si algo no funciona como se indica en este artículo, asegúrese de tomar el tiempo para verificar la documentación Postfix y Dovecot.

Tenga en cuenta que aunque configurar un servidor de correo postfix no es una tarea fácil, es una experiencia gratificante para cada administrador del sistema.

Si después de pasar por los documentos, todavía te encuentras luchando Sufijo y / o Palomar, Siéntase libre de dejarnos una nota utilizando el formulario de comentarios a continuación y nos alegrará ayudarlo (no olvide cargar en un servicio de almacenamiento en línea, la configuración de postfix y doblador como se recupera utilizando postconf y doveconf como se describe en este artículo).