Cómo instalar y configurar Postfix en Ubuntu 20.04

Cómo instalar y configurar Postfix en Ubuntu 20.04

una versión anterior de este tutorial fue escrita por Justin Ellingwood

Introducción

Postfix es un popular agente de transferencia de correo de código abierto (MTA) que se puede utilizar para enrutar y entregar correo electrónico en un sistema Linux. Se estima que alrededor del 25% de los servidores de correo público en internet ejecutan Postfix.

en esta guía, aprenderá cómo instalar y configurar Postfix en un servidor Ubuntu 20.04., Luego, probará que Postfix puede enrutar correctamente el correo instalando s-nail, un agente de usuario de correo (MUA), también conocido como cliente de correo electrónico.

tenga en cuenta que el objetivo de este tutorial es ayudarlo a poner en marcha Postfix rápidamente con solo algunas funciones básicas de correo electrónico. No tendrá un servidor de correo electrónico con todas las funciones al final de esta guía, pero tendrá algunos de los componentes fundamentales de dicha configuración para ayudarlo a comenzar.

requisitos previos

para seguir esta guía, necesitará lo siguiente:

  • Un servidor que ejecute Ubuntu 20.,04 para funcionar como su servidor de correo Postfix. Este servidor debe tener un usuario no root con privilegios sudo y un firewall configurado con UFW. Puede seguir nuestra Guía de configuración inicial del Servidor Ubuntu 20.04 para configurar esto.
  • Un nombre de dominio completo apuntado a su servidor Ubuntu 20.04. Puede encontrar ayuda para configurar su nombre de dominio con DigitalOcean siguiendo nuestra documentación de dominios y redes DNS. Tenga en cuenta que si planea acceder al correo desde una ubicación externa, tendrá que asegurarse de tener un registro MX apuntando a su servidor de correo también.,

tenga en cuenta que este tutorial asume que está configurando un host que tiene el FQDN de mail.example.com. Cuando sea necesario, asegúrese de cambiar example.com o mail.example.com para reflejar su propio FQDN.

Paso 1-Instalación de Postfix

Postfix está incluido en los repositorios predeterminados de Ubuntu, por lo que puede instalarlo con APT.

Para comenzar, actualice su caché de paquete local apt:

  • sudo apt update

luego instale el paquete postfix con el siguiente comando., Tenga en cuenta que aquí pasamos la variable ambiental DEBIAN_PRIORITY=low en este comando de instalación. Esto hará que el proceso de instalación le pida que configure algunas opciones adicionales:

  • sudo DEBIAN_PRIORITY=low apt install postfix

Este proceso de instalación abrirá una serie de indicaciones interactivas. Para los fines de este tutorial, use la siguiente información para completar sus solicitudes:

  • ¿tipo General de configuración de correo?: Para esto, elija el sitio de Internet, ya que se adapta a nuestras necesidades de infraestructura.,
  • Nombre de correo del Sistema: este es el dominio base utilizado para construir una dirección de correo electrónico válida cuando solo se proporciona la parte de la cuenta de la dirección. Por ejemplo, digamos que el nombre de host de su servidor es mail.example.com. Es probable que desee establecer el nombre de correo del sistema en example.com de modo que, dado el nombre de usuario user1, Postfix utilizará la dirección .
  • Root and postmaster mail recipient: esta es la cuenta de Linux que será reenviada a root@y postmaster@., Utilice su cuenta principal para esto. En este ejemplo, sammy.
  • Otros destinos para aceptar correo: Esto define los destinos de correo que aceptará esta instancia Postfix. Si necesita agregar otros dominios que este servidor será responsable de recibir, agréguelos aquí. De lo contrario, el valor predeterminado será suficiente.
  • forzar actualizaciones síncronas en la cola de correo?: Dado que es probable que esté usando un sistema de archivos con Diario, acepte No aquí.
  • Redes Locales: esta es una lista de las redes para las que su servidor de correo está configurado para retransmitir mensajes., El valor predeterminado funcionará para la mayoría de los escenarios. Si elige modificarlo, sin embargo, asegúrese de ser muy restrictivo en lo que respecta al rango de red.
  • límite de tamaño del buzón: se puede usar para limitar el tamaño de los mensajes. Configurarlo en 0 deshabilita cualquier restricción de tamaño.
  • carácter de extensión de dirección Local: Este es el carácter que se puede usar para separar la porción regular de la dirección de una extensión (se usa para crear alias dinámicos). El valor predeterminado, + funcionará para este tutorial.,
  • protocolos de Internet a usar: Elija si desea restringir la versión IP que admite Postfix. Para los propósitos de este tutorial, elija Todos.

Para ser explícitos, estos son los valores utilizados en esta guía:

Nota: Si necesita volver a cambiar estos ajustes, puede hacerlo escribiendo:

  • sudo dpkg-reconfigure postfix

Las instrucciones se rellenará automáticamente con sus respuestas anteriores.

Cuando finalice el proceso de instalación, estará listo para realizar algunas actualizaciones a su configuración Postfix.,

Paso 2 — Cambiar la configuración de Postfix

Ahora puede ajustar algunas configuraciones que el proceso de instalación del paquete no le pidió. Muchas de las opciones de configuración de Postfix están definidas en el archivo /etc/postfix/main.cf. En lugar de editar este archivo directamente, puede usar el comando postconf de Postfix para consultar o establecer parámetros de configuración.

Para comenzar, establezca la ubicación para el buzón de correo de su usuario de Ubuntu no root., En esta guía, usaremos el formato Maildir, que separa los mensajes en archivos individuales que luego se mueven entre directorios en función de la acción del usuario. La opción alternativa que no está cubierta en esta guía es el formato mbox, que almacena todos los mensajes dentro de un solo archivo.

establezca la variablehome_mailbox enMaildir/. Más tarde, creará una estructura de directorios bajo ese nombre dentro del directorio personal de su usuario., Configure home_mailbox escribiendo:

  • sudo postconf -e 'home_mailbox= Maildir/'

a continuación, establezca la ubicación de la tabla virtual_alias_maps, que asigna cuentas de correo electrónico arbitrarias a cuentas del sistema Linux. Ejecute el siguiente comando, que asigna la ubicación de la tabla a un archivo de base de datos hash llamado /etc/postfix/virtual:

  • sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'

ahora que ha definido la ubicación del archivo de mapas virtuales en su archivo main.cf, puede crear el archivo y comenzar a asignar cuentas de correo electrónico a cuentas de usuario en su Linux sistema., Cree el archivo con su editor de texto preferido; en este ejemplo, usaremos nano:

  • sudo nano /etc/postfix/virtual

listar cualquier dirección para la que desee aceptar correo electrónico, seguido de un espacio en blanco y el usuario de Linux al que desea que se le entregue ese correo.,

por ejemplo, si desea aceptar correo electrónico en y y desea que esos correos electrónicos se entreguen al usuario de sammy Linux, puede configurar su archivo de la siguiente manera:

/etc/postfix/virtual
[email protected] [email protected] sammy

después de asignar todas las direcciones a las cuentas de servidor apropiadas, guarde y cierre el archivo. Si usted utiliza nano, puede hacerlo pulsando CTRL + X, Y, luego ENTER.,

aplique la asignación escribiendo:

  • sudo postmap /etc/postfix/virtual

reinicie el proceso Postfix para asegurarse de que todos sus cambios se han aplicado:

  • sudo systemctl restart postfix

asumiendo que siguió la guía de configuración inicial del servidor de requisitos previos, habrá configurado un firewall con UFW. Este firewall bloqueará las conexiones externas a los servicios en su servidor de forma predeterminada a menos que esas conexiones estén explícitamente permitidas, por lo que tendrá que agregar una regla de firewall para permitir una excepción para Postfix.,

Puede permitir conexiones al servicio escribiendo:

  • sudo ufw allow Postfix

con eso, Postfix está configurado y listo para aceptar conexiones externas. Sin embargo, aún no está listo para probarlo con un cliente de correo. Antes de que pueda instalar un cliente y usarlo para interactuar con el correo que se entrega a su servidor, deberá realizar algunos cambios en la configuración de su servidor Ubuntu.,

Paso 3-Instalación del cliente de correo e inicialización de la estructura Maildir

para interactuar con el correo que se entrega, este paso lo guiará a través del proceso de instalación del paquete s-nail. Esta es una variante rica en características del cliente BSD xmail que puede manejar el formato Maildir correctamente.

antes de instalar el cliente, sin embargo, sería prudente asegurarse de que su variable de entorno MAIL esté configurada correctamente., s-nail buscará esta variable para averiguar dónde encontrar correo para su usuario.

para garantizar que la variable MAIL se establezca independientemente de cómo acceda a su cuenta, ya sea a través de ssh, su, su -, o sudo, por ejemplo: deberá establecer la variable en el archivo /etc/bash.bashrc y agregarla a un archivo dentro de /etc/profile.d para asegurarse de que esté configurada para todos los usuarios de forma predeterminada.,

para agregar la variable a estos archivos, escriba:

  • echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

para leer la variable en su sesión actual, obtenga el /etc/profile.d/mail.sh archivo:

  • source /etc/profile.d/mail.sh

con eso completo, instale el s-nail cliente de correo electrónico con apt:

  • sudo apt install s-nail

antes de ejecutar el cliente, hay algunas configuraciones que debe ajustar. Abra el archivo /etc/s-nail.rc en su editor:

  • sudo nano /etc/s-nail.rc

en la parte inferior del archivo, agregue las siguientes opciones:

/etc/s-nail.,rc
. . .set emptystartset folder=Maildirset record=+sent

Aquí es lo que estas líneas:

  • set emptystart: permite que el cliente abra incluso con una bandeja de entrada vacía
  • set folder=Maildir: establece el Maildir directorio interno folder variable
  • set record=+sent crea un sent archivo mbox para almacenar el correo enviado dentro de lo que el directorio se establece como folder variable, en este caso Maildir

Guarde y cierre el archivo cuando haya terminado., Ahora está listo para inicializar la estructura Maildir de su sistema.

una forma rápida de crear la estructura Maildir dentro de tu directorio home es enviarte un correo electrónico con el comando s-nail. Debido a que el archivo sent solo estará disponible una vez que se cree el Maildir, debe deshabilitar la escritura en él para este correo electrónico inicial. Haga esto pasando la opción -Snorecord.

envíe el correo electrónico canalizando una cadena al comandos-nail., Ajuste el comando para marcar a su Usuario Linux como el destinatario:

  • echo 'init' | s-nail -s 'init' -Snorecord sammy

Nota: puede obtener la siguiente respuesta:

Output
Can't canonicalize "/home/sammy/Maildir"

esto es normal y solo puede aparecer al enviar este primer mensaje.,

Puede verificar que el directorio fue creado buscando su ~/Maildir directorio:

  • ls -R ~/Maildir

verá que la estructura del directorio ha sido creada y que un nuevo archivo de mensaje está en el ~/Maildir/new directorio:

ahora que se ha creado la estructura de directorios, está listo para probar el cliente s-nail visualizando el mensaje init que envió y enviando un mensaje a una dirección de correo electrónico externa.,

Paso 4 — probando el cliente

para abrir el cliente, ejecute el comando s-nail:

  • s-nail

en su consola, verá una bandeja de entrada rudimentaria con el mensaje init>

presione ENTER para mostrar el mensaje:

Puede volver a la lista de mensajes escribiendo h, y luegoENTER:

  • h
Output
>R 1 [email protected] 2020-05-19 15:40 14/392 init

observe que el mensaje ahora tiene un estado de R, indicando que ha sido leído.,

a partir de este mensaje no es muy útil, puede eliminar pulsando d y luego ENTER:

  • d

Para volver a la terminal, tipo q y luego ENTER:

  • q

Como una prueba final, comprobar si s-nail es capaz de enviar correctamente los mensajes de correo electrónico. Para hacer esto, puede canalizar el contenido de un archivo de texto en el proceso s-nail, como hizo con el mensaje init que envió en el paso anterior.,

comience escribiendo un mensaje de prueba en un editor de texto:

  • nano ~/test_message

dentro, ingrese un texto que le gustaría enviar:

~ / test_message
Hello,This is a test. Please confirm receipt!

guarde y cierre el archivo después de escribir su mensaje.

luego, use el comando cat para canalizar el mensaje al proceso s-nail., Puede hacerlo con el siguiente ejemplo, que utiliza estas opciones:

  • -s: esto define la línea de asunto del mensaje de correo electrónico
  • -r: un cambio opcional al campo «desde:» del correo electrónico. De forma predeterminada, el usuario de Linux en el que ha iniciado sesión se utilizará para rellenar este campo. La opción -r le permite anular esto con una dirección válida, como una de las que definió en el archivo /etc/postfix/virtual., Para ilustrarlo, el siguiente comando usa

También, asegúrese de cambiar a una dirección de correo electrónico válida a la que tenga acceso:

luego, vaya a la bandeja de entrada de la dirección de correo electrónico a la que envió el mensaje. Verá su mensaje esperando allí casi de inmediato.

Nota: Si el mensaje no está en tu bandeja de entrada, es posible que haya sido enviado a tu carpeta de Spam.

Puede ver sus mensajes enviados dentro de su cliente s-nail., Inicie el cliente interactivo de nuevo:

  • s-nail

desde el cliente de correo electrónico, vea sus mensajes enviados escribiendo:

  • file +sent

verá una salida como esta:

Output
+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject line

puede administrar el correo enviado utilizando los mismos comandos que usa para el correo entrante.

conclusión

ahora tiene configurado Postfix en su servidor Ubuntu 20.04. Administrar servidores de correo electrónico puede ser una tarea difícil para los nuevos administradores de sistemas, pero con esta configuración, debe tener suficiente funcionalidad de correo electrónico MTA para comenzar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *