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