EMAIL SERVICES

Instalar y configurar un servidor SMTP.

Introducción.

PENDIENTE XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Antes de meternos en harina con configuración de componentes de correo es necesario que sepamos Enlace interesante a componentes de un sistema de envio de correo: http://es.ccm.net/contents/115-como-funciona-el-correo-electronico-mta-mda-mua

Condiguración previa.

Asegurarse lo primero que nuestro host tiene definida su dirección IP y nombre corto y de dominio en el fichero /etc/hosts. Nos evitaremos problemas con Postfix.

72.31.107.206 recuncho-gmail-com1  recuncho-gmail-com1.mylabserver.com

Instalación de Postfix

Postfix es el MTA por defecto en Centos 7. Lo normal incluso en una instalación mínima es que esté siempre instalado. Si no lo estuviera se instala como siempre.

yum install postfix
systemctl enable postfix

Configuración.

El fichero de configuración principal de postfix es:

/etc/postfix/main.cf

Párametros importantes.

Los parámetros de uso más habitual y que debermos revisar en toda nueva instalacíón de Postfix son los siguientes:

  • myhostname - Especifica el nombre de Internet de este servidor. Se debe usar el nobre entero (con dominio).
  • mydomain - Especifica el dominio al que pertenece el servidor que también se verá reflejado en el nombre $myhostname. Se usa para muchas otras configuraciones.
  • myorigin - Especifica el origen de los correos propios que enviará el servidor. Suele ser igual a $myhostname + $mydomain
  • mydestination - La lista de dominios para la que esta máquina se considera el destino final (los dominios que considerará propios). Los valores habituales fijos suelen ser $myhostname, localhost.$mydomain, localhost.
  • mynetworks - Especifica las redes de confianza que pueden mandar emails a través de Postfix.
  • inet_interfaces - Especifica los interfaces de red en los que aceptará correo. Valores habituales son all, localhost que será lo normal en cualquier hosts que solo usa el correo local o el interface concreto donde queremos que escuche.
  • inet_protocols - Si no vamos a usar IPV6 conviene sustituir el valor por defecto all por el valor ipv4 para evitar warnings molestos.

Como vemos muchos parámetros en su definición se componen del valor de otros parámetros por lo que un único cambio puede suponer realmente grandes cambios en la configuración. Esa es la idea.
Cuando hacemos cambios importantes de este tipo debemos reiniciar postfix.

systemctl restart postfix

Ejemplo de configuración

Probar un ejemplo con usuarios locales / externos (con acceso desde otras máquinas)

Primero establecemos adecuadamente el hostname de nuestra máquina. Reiniciamos y verificamos.

[~]# hostnamectl set-hostname centos7.localdomain.net

[~]# reboot

[~]# hostname
centos7.localdomain.net

Reiniciamos. Añadimos una entrada adecuada de nuestro host con su IP en /etc/hosts

192.168.122.21 centos7 centos7.localdomain.net

Editamos el fichero de configuración de Postfix (previa copia siempre) y cambiamos los siguientes valores

myhostname = centos7.localdomain.net
mydomain = localdomain.net
myorigin = $myhostname
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = subnet
inet_interfaces = all
inet_protocols = ipv4

Reiniciamos Postfix y echamos un vistazo al log de postfix por si hubiera errores.

systemctl restart postfix
tail -f /var/log/maillog

Pruebas de envio de correo

Realizaremos unas pruebas rápidas para verificar el funcionamiento del correo. Para ello instalaremos mutt, un sencillo cliente de correo que nos facilitará la labor.

Primero instalamos un cliente de correo en modo texto

yum install mutt

Segundo creamos un par de usuarios y establecemos sus paswords:

useradd test01; useradd test02
passwd test01
passwd test02

Tercero Accedemos con nuestro usuario y ejecutamos mutt

[~]# su - test01
[~]# mutt
/home/test01/Mail no existe. ¿Crearlo? ([sí]/no):

Las acciones de menú para enviar correo son muy sencillas y bien descritas. Componemos un correo. Nos abrirá el editor vim para escriber el cuerpo del correo. Acabamos guardando y saliendo de vi. Luego nos ofrece el menu para enviarlo.

m Nuevo correo.
To: test02
Subject: Prueba    desde test01 a test02
Prueba de envio de correo de usuario test01 a usuario test02
:wq
y mandar
i salir
q salir

Accedemos con el usuario test02 para verificar el correo recibido.

[~]# su - test02
[~]# mutt
/home/test01/Mail no existe. ¿Crearlo? ([sí]/no):

Nos mostrará en una "lista" el correo enviado desde el usario test01 con los datos de cabecera de nuestros usuarios y dominios que es una de las configuraciones que nos interesa verificar..

From: [email protected] To: [email protected] Subject: Prueba desde test01 a test02

Ayuda.

PENDIENTE XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Referencias.

Setting Up Email Services (SMTP, Imap and Imaps) and Restricting Access to SMTP
Mutt – A Command Line Email Client to Send Mails from Terminal