Cómo Instalar y Configurar Sendmail en Ubuntu
Cómo instalar y configurar Sendmail en Ubuntu para enviar correos electrónicos utilizando un servidor de correo electrónico que enruta o transmite la entrega de correo.
Sendmail es un Agente de Transferencia de correo de código abierto (MTA) que se utiliza para enrutar correo electrónico utilizando el servidor o mediante comandos de shell. También puede configurar SMTP usando Sendmail.
En esta guía aprenderás a instalar y configurar Sendmail en Ubuntu. También configurará SMTP y lo configurará con PHP.
El mejor Alojamiento para su negocio
Plataforma | Reseñas | Precios |
---|---|---|
Cloudways | ★★★★★ | $10 |
Kinsta-Google Cloud | ★★★★★ | $30 |
Actualice los paquetes de servidor
SSH dentro de su servidor y actualice los paquetes a su última versión.
sudo apt updatesudo apt upgrade
Instalar Sendmail
Sendmail está disponible en el repositorio de ubuntu, por lo que puede instalarlo directamente usando el comando apt install
.
sudo apt install sendmail
Configure el nombre de host
Edite el archivo /etc/hosts
y agregue su nombre de host.
sudo nano /etc/hosts
En la línea que comienza con 127.0.0.1
, agregue hostname
al 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
Configurar 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/authinfosudo 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 contraseña con su contraseña.
AuthInfo: "U:root" "I:email-address" "P:password"
Pulsa 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
Vaya al directorio de configuración de sendmail y edite el archivo sendmail.mc
.
cd /etc/mailsudo nano sendmail.mc
Agregue las siguientes configuraciones justo después de la línea MAILER _DEFINITIONS.
Reemplace smtp-host
con su nombre de host SMTP.
define(`SMART_HOST',`')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_OPTIONS', `A p')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`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 finalizada la configuración, debe reconstruir la configuración de Sendmail utilizando el comando make
.
cd /etc/mailmake
Una vez reconstruida la configuración, debe reiniciar Sendmail
Reiniciar Sendmail
Reiniciar Sendmail con el siguiente comando.
sudo /etc/init.d/sendmail restart
Ahora puede enviar correos electrónicos utilizando SMTP.
Configuraciones adicionales
Configuración con PHP
Para usar Sendmail con PHP, debe agregar la ruta de sendmail en su archivo php.ini
.
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 restartorsudo service php8.0-fpm restart
Configuración SMTP de Sendmail sin autenticación
En caso de que haya incluido en la lista blanca la IP de su servidor para SMTP y pueda enviar correos electrónicos sin autenticación, puede seguir el método siguiente.
No es necesario crear el archivo smtp-auth
que creamos anteriormente.
Puede editar directamente el archivo sendmail.mc
y realizar los siguientes cambios.
cd /etc/mailsudo nano sendmail.mc
Agregue las siguientes configuraciones a la última.
Reemplace smtp-host
con su nombre de host SMTP.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Guarde el archivo, reconstruya la configuración y reinicie Sendmail.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
Conclusión
Ahora ha aprendido a instalar y configurar Sendmail para retransmitir usando SMTP en Ubuntu.