Cómo instalar y configurar Sendmail para utilizar cualquier proveedor de correo electrónico como retransmisor SMTP

Este artículo asume que utilizará el Servidor Ubuntu 20.04 o 24.04.

Motivación

Sendmail es famoso por su sólida fiabilidad, razón por la cual es el Agente de Transferencia de Correo (MTA) preferido de WordOps. Sin embargo, su configuración, especialmente en tareas como la autenticación, el cifrado y la compilación, puede parecer bastante compleja, incluso para los administradores de sistemas experimentados. Pero no temas. Con una comprensión clara y paso a paso, estos procesos pueden ser bastante manejables. Exploremos cómo dominar esta configuración.

Alternativas

Si quiere reemplazar Sendmail, quizás por algo más sencillo, opciones como Postfix, SSMTP o Nullmailer son todas grandes opciones. Sin embargo, si sólo necesita enviar correos electrónicos a través de WordPress e ignorar toda la información valiosa que viene de su servidor, FluentSMTP es probablemente la mejor opción. Tenga en cuenta que si todavía necesita un plugin SMTP en su sitio, para la funcionalidad de registro, por ejemplo, podemos añadirlo a pesar de estar ya configurado en el servidor.

Instalar Sendmail

Sendmail forma parte de WordOps Stack y puede instalarse fácilmente con:

sudo apt install --sendmail
sudo apt install libsasl2-modules

También puede instalarlo en Ubuntu con APT:

sudo apt update
sudo apt install sendmail
sudo apt install libsasl2-modules

Instalación de mailutils no es un requisito pero le da a sendmail más compatibilidad en su sistema:

sudo apt install mailutils

Crear el archivo de autenticación

Crear un nuevo archivo para la información de autenticación en /etc/mail/authinfoy añada la siguiente línea al archivo, sustituyendo SU_USUARIO y YOUR_API_KEY con sus credenciales reales del proveedor de correo electrónico transaccional (en algunos proveedores, se puede utilizar un único token como nombre de usuario y contraseña):

AuthInfo:smtp.youremailprovider.com "U:YOUR_USERNAME" "P:YOUR_API_KEY"

No es necesario establecer el tipo de autenticación, ya que Sendmail siempre elegirá en primer lugar el método más seguro, que definiremos más adelante como STARTLS.

Configure Sendmail para utilizar su proveedor SMTP

Abra el archivo de configuración de Sendmail situado en /etc/mail/sendmail.mc. En primer lugar, modifique la siguiente línea para establecer el dominio que desea utilizar para los correos electrónicos salientes, sustituyendo tudominio.com con su dominio real:

Ubuntu 20.04

MASQUERADE_AS(`sudominio.com')dnl

Ubuntu 24,04

En las versiones más recientes, Sendmail ha eliminado todas las configuraciones de enmascaramiento, por lo que deberá añadir todas las configuraciones necesarias como las siguientes:

MASQUERADE_AS(`sudominio.com')dnl
CARACTERÍSTICA(`mascarada_sobre')dnl
CARACTERÍSTICA(`mascarada_todo_dominio')dnl

A continuación (en cualquier versión), añada las siguientes líneas para configurar Sendmail para que utilice su proveedor como retransmisor SMTP, justo después de DEFINICIONES_CORREOsustituyendo smtp.youremailprovider.com con la URL SMTP real de su proveedor de correo electrónico transaccional:

define(`SMART_HOST',`[smtp.postmarkapp.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl

Generar el archivo de base de datos

Después de guardar el authinfo genere el archivo de base de datos que utilizará Sendmail:

sudo makemap hash /etc/mail/authinfo < /etc/mail/authinfo

Reconstruir la configuración de Sendmail

Sendmail necesita compilar todas las macros que necesita utilizar, incluyendo las del archivo que editamos anteriormente. El proceso de compilación fallará si hay algún error de sintaxis, así que compruébelo varias veces y luego ejecútelo:

sudo m4 /etc/mail/sendmail.mc | sudo tee /etc/mail/sendmail.cf

Reiniciar Sendmail

Reinicie el servicio Sendmail para aplicar los cambios:

sudo service sendmail reload

Prueba de envío de un correo electrónico

Puede probar su configuración de Sendmail enviando un correo electrónico de prueba, pero algunos proveedores pueden requerir el asunto y también el cuerpo del correo electrónico, por lo que vamos a crear primero un archivo llamado correo_prueba.txt con el contenido que figura a continuación:

Asunto: Terminal Email Send

Email Contenido línea 1
Email Contenido línea 2

Ahora envíe un correo electrónico utilizando nuestro archivo como base:

sendmail re*******@*****le.com < correo_prueba.txt

Sustituir re*******@*****le.com con tu dirección de correo electrónico real.

¿Te ha resultado útil esta página?

Deja una respuesta

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