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.
Recursos:
- https://docs.wordops.net/how-to/setup-sendmail-with-sendgrid/
- https://postmarkapp.com/support/article/792-is-sendmail-configurable-through-postmark
- https://sourcedaddy.com/networking/modifying-sendmail-mc.html
- https://stackoverflow.com/questions/57410259/how-to-send-an-email-using-sendmail-command-in-linux
Deja una respuesta