Cómo instalar y configurar Sendmail en Ubuntu para enviar correos electrónicos utilizando un servidor de correo electrónico que enruta o retransmite la entrega de correo.
Sendmail es un agente de transferencia de correo (MTA) de código abierto que se usa para enrutar el correo electrónico usando el servidor o usando comandos de shell. También puede configurar SMTP mediante Sendmail.
En esta guía, aprenderá cómo instalar y configurar Sendmail en Ubuntu. También configurará SMTP y lo configurará con PHP.
Actualizar paquetes de servidor
SSH dentro de su servidor y actualice los paquetes a su última versión.
sudo apt update sudo apt upgrade
Instalar Sendmail
Sendmail está disponible en el repositorio de ubuntu, por lo que puede instalarlo directamente usando apt install
comando.
sudo apt install sendmail
Configurar nombre de host
Edite el /etc/hosts
archivo y agregue su nombre de host.
sudo nano /etc/hosts
En la línea que comienza con 127.0.0.1
, agrega el hostname
hasta el final como se ve a continuación. Esto debería estar en una sola línea.
127.0.0.1 localhost hostname
Configurar SMTP
Crear un nuevo directorio dentro de /etc/mail
para configuraciones SMTP.
sudo mkdir /etc/mail/authinfo
Configure los permisos correctos.
sudo chmod -R 700 /etc/mail/authinfo
Cree un nuevo archivo para su autenticación SMTP dentro del directorio recién creado.
cd /etc/mail/authinfo sudo nano smtp-auth
Pegue la siguiente línea y reemplace la dirección de correo electrónico con su correo electrónico de inicio de sesión y la contraseña con su contraseña.
AuthInfo: "U:root" "I:email-address" "P:password"
Presiona CRTL + X
seguido de Y
y ENTER
para guardar y salir del archivo.
Cree un mapa de base de datos hash para la autenticación creada anteriormente.
sudo makemap hash smtp-auth < smtp-auth
Configurar SMTP
Navegue al directorio de configuración de sendmail y edite el sendmail.mc
archivo.
cd /etc/mail sudo nano sendmail.mc
Agregue las siguientes configuraciones justo después de MAILER _DEFINITIONS línea.
Reemplazar smtp-host
con su nombre de host SMTP.
define(`SMART_HOST',`[smtp-host]')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/smtp-auth.db')dnl
La configuración debería tener el mismo aspecto que la siguiente captura de pantalla.
Ahora guarde el archivo y salga del editor.
Reconstruir la configuración de Sendmail
Una vez realizada la configuración, debe reconstruir la configuración de Sendmail utilizando el make
comando.
cd /etc/mail make
Una vez que se reconstruye la configuración, debe reiniciar Sendmail
Reiniciar Sendmail
Reinicie Sendmail usando el siguiente comando.
sudo /etc/init.d/sendmail restart
Ahora puede enviar correos electrónicos mediante SMTP.
Configuraciones adicionales
Configuración con PHP
Para usar Sendmail con PHP, debe agregar la ruta de sendmail en su php.ini
archivo.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
Al final del archivo, agregue lo siguiente.
sendmail_path= /usr/sbin/sendmail -t -i
Reinicie Apache o PHP-FPM para que los cambios surtan efecto.
sudo service apache2 restart or sudo service php8.0-fpm restart
Configuración SMTP de Sendmail sin autenticación
En caso de que haya incluido la IP de su servidor en la lista blanca para SMTP y pueda enviar correos electrónicos sin autenticación, puede seguir el siguiente método.
No necesitas crear el smtp-auth
archivo que creamos arriba.
Puede editar directamente el sendmail.mc
archivo y realice los siguientes cambios.
cd /etc/mail sudo nano sendmail.mc
Agregue las siguientes configuraciones a la última.
Reemplazar smtp-host
con su nombre de host SMTP.
define(`SMART_HOST',`smtp-host')dnl define(`RELAY_MAILER', `esmtp')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Guarde el archivo, reconstruya la configuración y reinicie Sendmail.
cd /etc/mail make sudo /etc/init.d/sendmail restart
Conclusión
Ahora ha aprendido cómo instalar y configurar Sendmail para retransmitir mediante SMTP en Ubuntu.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.