Cómo configurar un servidor SMTP en Ubuntu

Cómo configurar un servidor SMTP en Ubuntu

Para configurar un servidor de correo SMTP en Ubuntu es necesario seguir una serie de pasos. En este artículo explicaremos detalladamente cómo hacerlo, desde la instalación de los paquetes necesarios hasta la configuración de los archivos de configuración. Configurar un servidor SMTP propio tiene muchas ventajas, especialmente para aquellos que necesitan enviar grandes cantidades de correo electrónico. Un servidor SMTP propio, además de ser más seguro y confiable que utilizar un servidor de terceros, también proporciona un mayor control sobre los correos electrónicos enviados.

📋 Aquí podrás encontrar✍
  1. Instalación de paquetes
  2. Configuración del archivo main.cf
  3. Configuración del archivo master.cf
  4. Configuración del archivo sasl_passwd
  5. Reiniciar Postfix
  6. Ejemplo de código SMTP
  7. Conclusión
  8. Preguntas frecuentes
    1. 1. ¿El servidor SMTP propio es más seguro que utilizar un servidor de terceros?
    2. 2. ¿Es necesario autenticarse para enviar correo electrónico a través del servidor SMTP?
    3. 3. ¿Por qué se recomienda la configuración de seguridad en el archivo main.cf?
    4. 4. ¿Qué es el archivo sasl_passwd?

Instalación de paquetes

Primero, es necesario tener acceso a una terminal en Ubuntu. Una vez dentro de la terminal, actualizar los paquetes de Ubuntu con el siguiente comando:

sudo apt-get update

Una vez actualizados los paquetes, se procede a instalar los paquetes necesarios para configurar el servidor SMTP con el siguiente comando:

sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules

Este comando descargará e instalará los paquetes necesarios para configurar el servidor Postfix.

Configuración del archivo main.cf

El siguiente paso es configurar el archivo principal de Postfix ubicado en /etc/postfix/main.cf. Este archivo es el encargado de manejar la mayor parte de la configuración de Postfix. Abre el archivo con tu editor de texto preferido y agrega las siguientes líneas al final del mismo:

myhostname = example.com
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers = high
smtpd_tls_mandatory_ciphers = high
smtp_tls_exclude_ciphers = SSLv2, SSLv3
smtpd_tls_exclude_ciphers = SSLv2, SSLv3
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_sasl_mechanism_filter = AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_loglevel = 1
smtp_tls_note_starttls_offer = yes

Guarda el archivo y ciérralo. Esta configuración utiliza las mejores prácticas en cuanto a la seguridad se refiere, lo que garantiza la seguridad del servidor SMTP.

Configuración del archivo master.cf

Una vez configurado el archivo main.cf, es hora de configurar el archivo master.cf, ubicado en /etc/postfix/master.cf. Este archivo se encarga de configurar el servidor SMTP para recibir conexiones de otros servidores de correo electrónico. Agrega las siguientes líneas al final del archivo:

submission inet n - y - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

Esto habilita la opción de autenticación para los usuarios que envían correo electrónico y asegura que solo los usuarios autenticados puedan enviar correo electrónico desde el servidor SMTP.

Configuración del archivo sasl_passwd

El siguiente paso es crear un archivo sasl_passwd en /etc/postfix/sasl_passwd. Este archivo se utiliza para autenticar a los usuarios que envían correo electrónico a través del servidor SMTP. Crea el archivo con el siguiente comando:

sudo nano /etc/postfix/sasl_passwd

Agrega las siguientes líneas al archivo, reemplazando "example.com" y "password" con el nombre de dominio y la contraseña de tu elección:

example.com [email protected]:password

Guarda y cierra el archivo.

A continuación, se debe convertir el archivo sasl_passwd en un archivo de base de datos usando el siguiente comando:

sudo postmap /etc/postfix/sasl_passwd

Esto crea un archivo sasl_passwd.db en el mismo directorio.

Reiniciar Postfix

Una vez completados los pasos anteriores, reinicia Postfix para aplicar los cambios. Usa el siguiente comando:

sudo service postfix restart

Ejemplo de código SMTP

Aquí se muestra un ejemplo de código SMTP en Python para enviar un correo electrónico desde la línea de comandos:


import smtplib

smtp_server = "example.com"
port = 587
username = "[email protected]"
password = "password"

sender = "[email protected]"
recipient = "[email protected]"
subject = "Asunto del correo electrónico"
body = "Contenido del correo electrónico"

message = f"""From: {sender}
To: {recipient}
Subject: {subject}

{body}
"""

with smtplib.SMTP(smtp_server, port) as server:
server.starttls()
server.login(username, password)
server.sendmail(sender, recipient, message)

Conclusión

La configuración de un servidor SMTP en Ubuntu puede parecer complicada al principio, pero es un proceso relativamente sencillo si se siguen los pasos correctamente. Un servidor SMTP propio proporciona una mayor control y seguridad en el envío de correos electrónicos, especialmente para aquellos que envían grandes cantidades. Sigue los pasos anteriores y tendrás un servidor SMTP funcionando en poco tiempo.

Preguntas frecuentes

1. ¿El servidor SMTP propio es más seguro que utilizar un servidor de terceros?

Sí, un servidor SMTP propio es generalmente más seguro que utilizar un servidor de terceros, ya que proporciona un mayor control sobre los correos electrónicos enviados y garantiza la privacidad de los datos.

2. ¿Es necesario autenticarse para enviar correo electrónico a través del servidor SMTP?

Sí, es necesario autenticarse para enviar correo electrónico a través del servidor SMTP. La autenticación garantiza que solo los usuarios autorizados puedan enviar correo electrónico desde el servidor SMTP.

3. ¿Por qué se recomienda la configuración de seguridad en el archivo main.cf?

La configuración de seguridad en el archivo main.cf garantiza que el servidor SMTP sea resistente a ataques externos y protege la privacidad de los datos.

4. ¿Qué es el archivo sasl_passwd?

El archivo sasl_passwd se utiliza para autenticar a los usuarios que envían correo electrónico a través del servidor SMTP. Contiene las credenciales de los usuarios necesarias para enviar correo electrónico.

Deja una respuesta

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

Subir