Habilitar envío de correos: smtp-forwarder

Publicado: enero 31, 2014 en Server, System
Etiquetas:, ,

Email-Logo

En un sistema GNU/Linux, el mecanismo para envío de notificaciones de determinados demonios (servicios), es mediante el envío de correos con sendmail. En este artículo veremos cómo enviar correos, sin necesidad de configurar un servidor de correo.

En el artículo sobre Exim, vimos cómo configurar este servidor para hacer esto. Ahora, veremos dos alternativas que nos permiten enviar correos, sin necesidad de utilizar un servidor de correo. No podremos recibir/enviar correos a otros equipos de nuestra red local, pero sí enviarlos a cuentas externas, mediante una cuenta, por ejemplo, de gmail, incluso hacer una entrega de correo en local, a los buzones de los usuarios del sistema.

La primera herramienta que vamos a ver es msmtp. Con ella, podemos configurar el servidor de correo saliente que vamos a utilizar, así cómo los alias para los usuarios del sistema. Empezamos:

sudo pacman -Syu msmtp-mta

Creamos el archivo /etc/msmtp.conf, con la configuración de los servidores que vayamos a utilizar:

# Accounts will inherit settings from this section
defaults
auth             on
tls              on
tls_trust_file   /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt

#Alias
aliases               /etc/aliases

# Primera cuenta
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account        gmail
host           smtp.gmail.com
port           587
from           ejemplo@gmail.com
user           ejemplo@gmail.com
password       clave

#segunda cuenta
account yahoo
tls_trust_file   /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt
host smtp.correo.yahoo.es
port 25
from ejemplo@yahoo.es
user ejemplo
auth on
auth plain
tls off
password clave

# Set a default account
account default : gmail

Ahora, vamos a definir los alias, creando el archivo /etc/aliases:

root: ejemplo@ejemplo.com
default: ejemplo@ejemplo.com

Hecho esto, securizamos los archivos creados:

sudo chmod o-rw /etc/msmtprc
sudo chmod o-rw /etc/aliases

Pues ya está listo. Con esta herramienta no podemos hacer entregas locales, pero sí enviar a correos externos y definir, para cada usuario, dónde ha de redirigirse el correo.

La siguiente herramienta es esmtp. Vamos a instalarla, junto con procmail, para las entregas locales:

sudo pacman -Syu esmtp procmail

Creamos el archivo /etc/esmtp.conf, con la configuración del servidor smtp que vamos a utilizar y añadimos la configuración para realizar entregas locales:

identity ejemplo@gmail.com
   hostname smtp.gmail.com:587
   username "ejemplo@gmail.com"
   password "clave"
   starttls enabled
   default
force_mda="usuario_local"
mda "/usr/bin/procmail -d%T"

Con la configuración anterior, los correos locales son entregados mediante procmail. Además, los correos dirigidos al usuario root, se redirigirán al usuario_local, especificado en force_mda. Aquellos correos que se dirijan a una cuenta externa, se enviarán mediante la cuenta especificada.

El problema de estas herramientas es que, si restringimos los permisos de lectura a los usuarios, solo podrá enviar correos el usuario root. Esto, para enviar notificaciones desde cron, no es problema, sin embargo, para los demonios que se ejecuten con un usuario diferente, no podrán enviar correos.

Una opción es crear un grupo y añadir ahí a los usuarios que queramos que envíen correos. El archivo de configuración deberá pertenecer a ese grupo. La única desventaja será que todos los usuarios que puedan enviar correos, podrán ver las credenciales de la cuenta de correo utilizada.

Otra opción es crear, en el home de cada usuario, el archivo correspondiente (bien .esmtprc o bien .msmtprc), con la configuración de la cuenta que desee utilizar para enviar correos. De esta manera, cada usuario podrá ver solo sus credenciales de la cuenta que vaya a utilizar.

Pues esto es todo: Ya podemos enviar correos, con lo que, las notificaciones del sistema, podrán ser enviadas.

¡Espero que os sea útil!

Anuncios
comentarios
  1. […] Habilitar envío de correos: smtp-forwarder enero 31, 2014 […]

  2. Yoyo dice:

    Buen post!!!

    (respuesta estándar de aquel que no tiene ni idea de lo que acaba de leer ) xD

    • Archuser dice:

      Muchas gracias!
      Básicamente, las distros como Debian y derivadas, vienen con un servidor de correo para poder envía mails en local. Esto no pasa en Arch y derivadas y hay que utilizar alguna herramienta, bien éstas, bien un servidor como exim.

  3. […] Habilitar envío de correos: smtp-forwarder enero 31, 2014 […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s