Introducción
Actualmente el conocimiento para instalar un servidor de correo es una importante tarea para cualquier administrador de sistemas. En nuestro caso, vamos a ver cómo desplegar un servidor de correo con Postfix en Ubuntu.
Sobre Postfix
Postfix es un MTA (Mail Transfer Agent) libre y open-source que enruta y entrega correo electrónico (e-mails). Como servidor SMTP, Postfix implementa la primera capa de defensa contra spambots y malware. Puede ser utilizar para enviar y recibir e-mail. Es el MTA por defecto en todas las distribuciones Linux.
Prerrequisitos
Para seguir esta guía, deberías tener:
- Acceso root a tu servidor Ubuntu.
- Un FQDN que apunte a tu servidor Ubuntu.
Instalación de Postfix
El primer paso es la instalación de Postix. Es muy sencillo porque este software está los respositorios de paquetes por defecto de Ubuntu.
Como ésta es nuestra primera operación con apt
en esta sesión, vamos a actualizar nuestro índice de paquetes locales e instalar el paquete de Postfix.
sudo apt update
sudo apt install postfix
Durante el proceso de instalación se te preguntará alguna información de configuración, como el nombre de correo del sistema, que debe de ser el dominio (en nuestro caso ophelia.ga). Una vez instalado, debería de comprobar el fichero /etc/mailname
que contiene el dominio correcto.
root|ophelia:~$ cat /etc/mailname
ophelia.ga
También es importante comprobar que el dominio está configurado en el fichero /etc/hosts
. En mi caso está bien configurado en la línea con la IP de loopback 127.0.1.1
.
root|ophelia:~$ cat /etc/hosts
# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
# /etc/cloud/cloud.cfg or cloud-config from user-data
#
127.0.1.1 ophelia.ga ophelia
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Configuración de DNS
Una cosa importante es tener la configuración básica de DNS hecha. Si tu dominio es “ophelia.ga”, entonces este dominio debe de estar configurado para apuntar las entradas DNS A (o AAAA si es IPv6) a tu servidor de correo. Esta configuración normalmente en la web de administración de tu hosting provider (En mi caso, DigitalOcean).
Para comprobar la configuración podrías ejecutar este comando desde el servidor de correo, o menor, desde otra máquina Linux.
yvoictra|lavrea:~$ dig A +noall +answer +multiline ophelia.ga
ophelia.ga. 3600 IN A 159.223.173.62
La dirección IP contestada debe de ser la misma que tienes en tu servidor de correo.
Creación de usuario
Una vez que Postfix está instalado, podemos crear un nuevo usuario para utilizarlo para enviar y recibir correos. Esto no es obligatorio, pero recomendado.
root|ophelia:~$ sudo adduser gabriel
Incluye el usuario al grupo de correo
Es recomendable incluir usuarios que deban acceder al correo, al grupo “mail”.
usermod -aG mail gabriel
Abriendo los puertos de Postfix
Normalmente el sistema operativo tiene los puertos de correo cerrados por defecto. En el caso de Ubuntu, debes de permitir a Postfix en las reglas:
root|ophelia:~$ sudo ufw allow Postfix
Rule added
Rule added (v6)
Ahora, las reglas deben incluir Postfix (Puerto 25 TCP) en la configuración de puertos permitidos:
root|ophelia:~$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
25/tcp (Postfix) ALLOW IN Anywhere
22/tcp (OpenSSH) ALLOW IN Anywhere
25/tcp (Postfix (v6)) ALLOW IN Anywhere (v6)
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
Probando el puerto 25 TCP desde Internet
Ahora me gusta comprobar desde cualquier otra máquina de Internet si el puerto está abierto, y si puedo acceder sin problema. Como debes de saber de artículos previos, uso Netcat para comprobar la conectividad.
Para esta prueba, solo necesito la dirección IP pública del servidor de correo.
yvoictra|lavrea:~$ nc -w 1 -vz 159.223.173.62 25
Connection to 159.223.173.62 25 port [tcp/smtp] succeeded!
En este caso, la conexión está funcionando.
Testeando el servicio de correo con la herramienta mail
Entrega local
Para comprobar la correcta entrega de correo electrónico, podemos utilizar la herramienta mailutils. No está instalada por defecto, por lo que el primer paso es:
sudo apt install mailutils
El siguiente paso es enviar un e-mail desde el usuario local “root”, al nuevo usuario local “gabriel”. En este caso, debe de ser como esto (desde la cuenta de root):
root|ophelia:~$ mail gabriel@ophelia.ga
Cc:
Subject: Test
Test
root|ophelia:~$
(Control+D para terminar)
El log /var/log/mail.log
debe de tener esta información relacionada al correo:
Jul 26 09:17:28 ophelia postfix/pickup[10541]: DF5EA3F32F: uid=0 from=<root@ophelia.ga>
Jul 26 09:17:28 ophelia postfix/cleanup[11358]: DF5EA3F32F: message-id=<20220726071728.DF5EA3F32F@ophelia.ga>
Jul 26 09:17:28 ophelia postfix/qmgr[10542]: DF5EA3F32F: from=<root@ophelia.ga>, size=315, nrcpt=1 (queue active)
Jul 26 09:17:28 ophelia postfix/local[11361]: DF5EA3F32F: to=<gabriel@ophelia.ga>, relay=local, delay=0.06, delays=0.04/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Jul 26 09:17:28 ophelia postfix/qmgr[10542]: DF5EA3F32F: removed
Entonces podemos conectarnos a la cuenta de usuario de gabriel para comprobar la entrega del mail, con el comando mail:
root|ophelia:~$ su - gabriel
gabriel@ophelia:~$ mail
"/var/mail/gabriel": 1 mensaje 1 nuevo
>N 1 root lun jul 26 09:17 14/411 test
?
Entrega remota
Ahora podemos probar la entrega de un e-mail a un servidor remoto. En este caso, usaremos la cuenta de usuario local “gabriel” para enviar un e-mail al servidor de GMail.
root|ophelia:~$ su - gabriel
gabriel@ophelia:~$ mail mytestaccount@gmail.com
Cc:
Subject: Test
Test
(Control+D para terminar)
En esta situación, el correo podría no llegar al destino (es normal, no hemos terminado!)
Podrías tener una pista de lo que está ocurriendo en el log /var/log/mail.log
:
Jul 26 09:20:45 ophelia postfix/pickup[10541]: 2AA2C3F330: uid=1000 from=<gabriel@ophelia.ga>
Jul 26 09:20:45 ophelia postfix/cleanup[11514]: 2AA2C3F330: message-id=<20220726072045.2AA2C3F330@ophelia.ga>
Jul 26 09:20:45 ophelia postfix/qmgr[10542]: 2AA2C3F330: from=<gabriel@ophelia.ga>, size=315, nrcpt=1 (queue active)
Jul 26 09:20:46 ophelia postfix/smtp[11516]: 2AA2C3F330: to=<mytestaccount@gmail.com>, relay=gmail-smtp-in.l.google.com[172.253.115.26]:25, delay=1.2, delays=0.02/0.01/0.48/0.65, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[172.253.115.26] said: 550-5.7.1 [159.223.173.62 12] Our system has detected that this message is 550-5.7.1 likely unsolicited mail. To reduce the amount of SPAM sent to Gmail, 550-5.7.1 this message has been blocked. Please visit 550-5.7.1 https://support.google.com/mail/?p=UnsolicitedMessageError 550 5.7.1 for more information. o10-20020a05620a2a0a00b006aee4afb966si10902320qkp.524 - gsmtp (in reply to end of DATA command))
Jul 26 09:20:46 ophelia postfix/cleanup[11514]: 516913F334: message-id=<20220726072046.516913F334@ophelia.ga>
Jul 26 09:20:46 ophelia postfix/qmgr[10542]: 516913F334: from=<>, size=3019, nrcpt=1 (queue active)
Jul 26 09:20:46 ophelia postfix/bounce[11517]: 2AA2C3F330: sender non-delivery notification: 516913F334
Jul 26 09:20:46 ophelia postfix/qmgr[10542]: 2AA2C3F330: removed
Jul 26 09:20:46 ophelia postfix/local[11519]: 516913F334: to=<gabriel@ophelia.ga>, relay=local, delay=0.02, delays=0/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Jul 26 09:20:46 ophelia postfix/qmgr[10542]: 516913F334: removed
En mi caso, el servidor de GMail ha establecido el estado del mail como bounced, con el error 550-5.7.1. GMail tiene una web para explicar cada error de los que devuelve su servidor SMTP. No te preocupes, es algo normal tener este error en los primeros pasos.
Sobre mi error, esta es la info de GMail:
550, “5.7.1”, Nuestro sistema ha detectado una cantidad anómala de correo no solicitado procedente de tu dirección IP. Para tratar de impedir que llegue SPAM a nuestros usuarios, hemos bloqueado el correo procedente de tu dirección IP. Consulta más información en el artículo Evitar que el correo enviado a los usuarios de Gmail se bloquee o se envíe a la carpeta de SPAM.
En la próxima sección, explicaré medidas para evitar este bloqueo.
Configura el servidor de correo para evitar ser bloqueado
Con respecto al servicio de correo electrónico, es bastante habitual que un servidor o un dominio se marque como un spammer. Yo creo que por defecto eres un spammer hasta que demuestres lo contrario. Excluyendo la posibilidad de que sea un servidor comprometido, un falso positivo se produce habitualmente por una de las siguientes causas:
- El servidor es un servidor de correo electrónico abierto
- La IP del sevidor del remitente está en lista negra
- El servidor no tiene un FQDN y una entrada PTR en los DNS
- La entrada DNS de The Sender Policy Framework (SPF) no existe, o está mal configurada
- La entrada DNS de DomainKeys Identified Mail (DKIM) no existe, o está mal configurada
Aquí explicaré los mejores hábitos para evitar que te bloqueen otros servidores de correo.
Entradas DNS adicionales (Registros MX y PTR)
Previamente hemos comprobado o añadido las entradas DNS tipo A (o AAAA) apuntando a tu servidor de correo electrónico, pero es necesario otro tipo de entradas para tener el servidor correctamente configurado.
Las entradas que necesitamos son la entradas DNS MX y PTR.
Entradas DNS de tipo MX
Esta configuración es bastante simple. Solo necesitas añadir la entrada MX (normalmente desde la web de administración de tu proveedor de hosting. En mi caso, DigitalOcean), y es necesario añadir la variable “prioridad” y “TTL”. Dejaré estas variables con el valor por defecto (No priority = 0 ; TTL=14440 seconds).
Una vez hecho, podrías testear la configuración con dig.
[23:03:43] root|lavrea:~$ dig MX +noall +answer +multiline ophelia.ga
ophelia.ga. 14400 IN MX 0 ophelia.ga.
Entradas DNS de tipo PTR
Las entradas DNS de tipo PTR se utilizan para solucionar búsquedas DNS inversas o resolución DNS inversa (rDNS). Esto es un método para determinar el nombre del dominio asociado a una dirección IP.
Así, lo primero que necesito saber es la entrada tipo A (dirección IP) del servidor:
yvoictra|lavrea:~$ dig A +noall +answer +multiline ophelia.ga
ophelia.ga. 3600 IN A 159.223.173.62
Y ahora tengo que solicitar la entrada PTR con el comando dig utilizando el parámetro -x
, en mi caso:
root|lavrea:~$ dig +noall +answer +multiline -x 159.223.173.62
62.173.223.159.in-addr.arpa. 1800 IN PTR ophelia.ga.
Hay otra forma de hacerlo (es más complicado porque hay que invertir la dirección IP, y añadir el sufijo “.in-addr.arpa.”), que es:
root|lavrea:~$ dig PTR 62.173.223.159.in-addr.arpa. +noall +answer
62.173.223.159.in-addr.arpa. 1438 IN PTR ophelia.ga.
Así que ¡sí! Ambas pruebas resuelven el dominio de mi servidor de correo (ophelia.ga), lo que significa que mi proveedor de hosting añadió la entrada DNS PTR cuando arranqué mi servidor.
Protocolos de autenticación (DKIM, SPF y DMARC)
Estos son mecanismos de autenticación que han sido creado en los últimos años para evitar SPAM.
SPF (Sender Policy Framework)
SPF (Sender Policy Framework) es un sistema que identifica los servidores de correo que están permitidos que envíen correo dado un determinado dominio. Configurado SPF ayuda a evitar que tu e-mail sea clasificado como SPAM.
El sistema SPF utiliza una nueva entrada DNS del tipo TXT. Si necesitas más información sobre esto, visita la páginas de sintaxis de entradas SPF. En mi experiencia, suelo utilizar la misma configuración que funciona bien en todos mis entornos.
v=spf1 a -all
Explco la sintaxis de esta entrada:
- La etiqueta
v=spf1
es obligatoria en este tipo de entradas. - La etiqueta
a
se utiliza para indicar que el “registro tipo A” del dominio está autorizado a enviar mail (es lo mismo que utilizando+a
). - La etiqueta
-all
se utiliza con el carácter-
para indicar que hay que prohibir cualquier otra entrada DNS (diferente de la entrada de tipo ‘A’).
Otras opciones podrían ser:
v=spf1 mx -all
En este caso, en lugar de utilizar la entrada de tipo ‘A’, se especifica que la entrada de tipo MX del dominio es el único permitido para enviar correo. En mi caso, esta opción también funcionaría porque también tengo entradas MX DNS en mi dominio.
v=spf1 ip4:159.223.173.62 -all
En este último ejemplo, he añadido la IPv4 de mi servidor de correo.
Finalmente, esta configuración tiene que hacerse en el servidor DNS. En mi caso, utilizaré mi proveedor de hosting, DigitalOcean, para hacerlo.
Una vez hecho, puedes comprobar los registros TXT con dig desde cualquier servidor Linux con conexión a Internet.
root|lavrea:~$ dig TXT ophelia.ga +noall +answer
ophelia.ga. 3600 IN TXT "v=spf1 a -all"
¡Y sí! El registro SPF ya está hecho.
DKIM (DomainKeys Identified Mail)
DKIM (DomainKeys Identified Mail) es un sistema que permite a tus servidores de correo añadir una firma en las cabeceras de los correos salientes. Esta cabecera identifica la llave pública de tu dominio para que otros servidores puedan verificar la firma. Esta firma te ayuda a mantener tu correo de ser considerado SPAM.
Instalar DKIM
El primer paso con DKIM, es instalar un par de paquetes
sudo apt install opendkim opendkim-tools
Ficheros de configuración DKIM
Una vez instalados, es necesario editar varios ficheros de configuración.
Empezaremos con el fichero de configuración opendkim.conf
:
sudo vi /etc/opendkim.conf
Y añadiendo esta configuración al final del fichero.
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:12301@localhost
El siguiente fichero de configuración es /etc/default/opendkim
:
sudo vi /etc/default/opendkim
Y añadimos la siguiente línea al final del fichero.
SOCKET="inet:12301@localhost"
El último fichero a modificar es el de Postfix, que permitirá añadir las cabeceras DKIM.
sudo vi /etc/postfix/main.cf
Es necesario añadir estas líneas.
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
El siguiente paso es crear la estructura de directorios:
sudo mkdir -p /etc/opendkim/keys
Y crear un fichero TrustedHosts
nuevo
sudo vi /etc/opendkim/TrustedHosts
En el que deberías añadir el dominio de tu servidor de correo.
127.0.0.1
localhost
*.ophelia.ga
El siguiente fichero es el KeyTable
, e igualmente, hay que añadir una línea del dominio.
sudo vi /etc/opendkim/KeyTable
Y añade la siguiente línea (¡cambia el dominio del servidor de correo!)
mail._domainkey.ophelia.ga ophelia.ga:mail:/etc/opendkim/keys/ophelia.ga/mail.private
Y el último fichero que añadir, SigningTable
.
sudo vi /etc/opendkim/SigningTable
Añade una línea con este formato (¡cambia el dominio del servidor de correo!)
*@ophelia.ga mail._domainkey.ophelia.ga
Crear la llave DKIM
Y el último paso es crear las llaves DKIM.
Crea la siguiente estructura de directorios para el dominio:
sudo mkdir /etc/opendkim/keys/ophelia.ga
cd /etc/opendkim/keys/ophelia.ga
Y crea la llave DKIM:
sudo opendkim-genkey -s mail -d ophelia.ga
Tmabién es necesario cambiar el propietario del fichero.
sudo chown opendkim:opendkim mail.private
Finalmente, puedes ver la llave DKIM:
sudo cat mail.txt
Este fichero debería de tener este aspecto:
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAso301Saq6vQ6NTS3jJY6AV78xaj/nq8oVrkSkAEPXJBnFhUur/NDTMG1Fy4L+3QnJx6i9nyp/GnztACA/Iun34sMaqAvPZ1HxtjZYCj6V1qnpx1rXu0Q6EqsWfEP+RvrYHnoy51r46p1MH0zbi3ewrVShEqSlOuwFFljG4pDqFltUzA0ryt89Q6xT0WzhjAs1PRl/GwrsPWKi8"
"9w08C7EDnOT9iH3PudhZtdXvJAxlm8TwnM9D5lW2GfGv4fAJKzwel5NLlhE/xlugT64bIe0fopAlCSN0BpcNQI49NZa4upshaoiiKqRlYfWZZuYoLLq5XWm/70EvQdawizl2rAEwIDAQAB" ) ; ----- DKIM key mail for ophelia.ga
El valor dentro del paréntesis es lo que necesitas. Selecciona y copia la región entera y no incluyas las dobles comillas antes de v=DKIM1
. Tampoco incluyas las dobles comillas finales antes de cerrar los paréntesis, ni las intermedias.
Pégalo como valor para la entrada TXT en tu servidor DNS. Yo uitlizaré mi proveedor de hosting, DigitalOcean, para hacerlo.
Reinicia los servicios para añadir la llave DKIM
sudo service postfix restart
sudo service opendkim restart
Comprobar la configuración de DKIM
Podemos comprobar que la llave DKIM está instalada bien con la herramienta opendkim-testkey
.
root|ophelia:~$ opendkim-testkey -d ophelia.ga -s mail -vvv
opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'mail._domainkey.ophelia.ga'
opendkim-testkey: key not secure
opendkim-testkey: key OK
root|ophelia:~$
También podemos comprobar la resolución de esta entrada TXT desde cualquier servidor Linux.
root|lavrea:~$ dig +noall +answer +multiline mail._domainkey.ophelia.ga TXT
mail._domainkey.ophelia.ga. 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAso301Saq6vQ6NTS3jJY6AV78xaj/nq8oVrkSkAEPXJBnFhUur/NDTMG1Fy4L+3QnJx6i9nyp/GnztACA/Iun34sMaqAvPZ1HxtjZYCj6V1qnpx1rXu0Q6EqsWfEP+RvrYHnoy51r46p1MH0zbi3ewrVShEqSlOuwFFljG4pDqFltUzA0ryt89Q6" "xT0WzhjAs1PRl/GwrsPWKi89w08C7EDnOT9iH3PudhZtdXvJAxlm8TwnM9D5lW2GfGv4fAJKzwel5NLlhE/xlugT64bIe0fopAlCSN0BpcNQI49NZa4upshaoiiKqRlYfWZZuYoLLq5XWm/70EvQdawizl2rAEwIDAQAB"
La última manera de comprobar que la configuración de DKIM es correcta, es utilizando el servicio verifier.port25.com. Es necesario enviar un email desde tu servidor de correo a la dirección check-auth@verifier.port25.com
, y el servicio analizará tu mensaje y te enviará un informe por correo indicando si tu e-mail fuer firmado correctamente o no.
root|ophelia:~$ mail -a "From: root <root@ophelia.ga>" -s "Test" "check-auth@verifier.port25.com"
Cc:
test
root|ophelia:~$
(Recuerda, Control+D para terminar)
Y comprueba la entrada de tu buzón de correo en la que recibirás el informe.
DMARC (Domain Message Authentication, Reporting and Conformance)
DMARC (Domain Message Authentication, Reporting & Conformance) te permite anunciar a los servidores de correo las políticas de tu dominio. Las políticas aplican a los correos que fallan las validaciones SPF o DKIM. También te permite solicitar informes de los mensajes fallidos recibiéndolos de los servidores de correo.
Esta configuración es opcional, pero creo que es bueno configurarlo. La entrada DMARC se añade para avisar a los servidores de correo qué hacer con los emails que indican que son de tu dominio pero fallan las validaciones SPF o DKIM.
La entrada DMARC también es un registro TXT (como SPF y DKIM), para la entrada _dmarc
en tu dominio utiliza los siguientes valores:
"v=DMARC1;p=quarantine;sp=quarantine;adkim=s;aspf=s;rua=mailto:root@ophelia.ga;ruf=mailto:root@ophelia.ga;fo=1;ri=3600"
Los parámetros que he usado los detallo aquí:
v=DMARC1
es una etiqueta obligatoria.p=quarantine
, esto indica la política a aplicar al email que falle el chequeo de DMARC. En mi caso, utilizo ‘quarantine’ (no descartar, pero tratar de forma distinta a los correos normales). Esta política puede ser ’none’, ‘quarantine’ o ‘reject. ’none’ se utiliza para recoger los informes de DMARC para comprobar el estado de tu correo sin aplicar políticas.sp=quarantine
especifica meter en cuarentena los emails de los subdominios del dominio que falle la validación DMARC.adkim=s
especifica el ‘modo de alineamiento’ para las firmas DKIM. Puede serr
(relajado) os
(estricto).aspf=s
especifica el ‘modo de alineamiento’ para las firmas SPF. Puede serr
(relajado) os
(estricto).rua=mailto:root@ophelia.ga
especifica la dirección de email para enviar los informes.ruf=mailto:root@ophelia.ga
especifica la dirección de email para enviar los informes forenses.fo=1
especifica opciones forenses. Valores permitidos: ‘0’ para generar informes si tanto las validaciones DKIM y SPF fallan, ‘1’ para generar informes si las validaciones DKIM o SPF falla para producir un resultado satisfactorio en DMARC, ’d’ para generar informes si DKIM ha fallado, o ’s’ si SPF ha fallado.ri=3600
especifica el intervalo de informes que te gustaría recibir los informes XML agregados. Es una preferencia, y los ISPs podrían (y suelen hacerlo) enviar informes con distintos intervalos (normalmente uno al día).
Escribe el valor de las entradas TXT en tu servidor DNS y, como antes, utilizaré mi proveedor de hosting DigitalOcean, para hacerlo. Write the value for the TXT record in your DNS server, as before, I will use my hosting provider, DigitalOcean, to do it.
Comprobar la configuración de DMARC
La configuración de DMARC podría comprobarse con dig:
root|lavrea:d$ dig TXT _dmarc.ophelia.ga +noall +answer;
_dmarc.ophelia.ga. 3600 IN TXT "v=DMARC1;p=quarantine;sp=quarantine;adkim=s;aspf=s;rua=mailto:root@ophelia.ga;ruf=mailto:root@ophelia.ga;fo=1;ri=3600"
root|lavrea:d$
También podrías utilizar la herramienta de chequeo de DMARC dmarcian para validar tus registros DMARC.
Probando el servicio de correo con la herramienta mail de nuevo
Entrega remota
Como vimos antes, nuestro correo había sido rechazado. Ahora, con las configuraciones que hemos hecho, yo creo que será suficiente para tener nuestro servidor de correo funcionando.
Usaremos nuestro usuario gabriel user para enviar otro email al servidor de GMail.
root|ophelia:~$ su - gabriel
gabriel@ophelia:~$ mail mytestaccount@gmail.com
Cc:
Subject: Test 2
Test 2
(Control+D para terminar)
Y ahora podemos revisar el log /var/log/mail.log
para ver la respuesta del servidor de GMail.
Jul 27 17:19:53 ophelia postfix/pickup[19402]: E0D643F19D: uid=1000 from=<gabriel@ophelia.ga>
Jul 27 17:19:53 ophelia postfix/cleanup[21492]: E0D643F19D: message-id=<20220727151953.E0D643F19D@ophelia.ga>
Jul 27 17:19:53 ophelia opendkim[14911]: E0D643F19D: DKIM-Signature field added (s=mail, d=ophelia.ga)
Jul 27 17:19:53 ophelia postfix/qmgr[14842]: E0D643F19D: from=<gabriel@ophelia.ga>, size=351, nrcpt=1 (queue active)
Jul 27 17:19:55 ophelia postfix/smtp[21494]: E0D643F19D: to=<mytestaccount@gmail.com>, relay=gmail-smtp-in.l.google.com[172.253.115.26]:25, delay=1.8, delays=0.09/0.03/0.47/1.2, dsn=2.0.0, status=sent (250 2.0.0 OK 1658935195 bb13-20020a05622a1b0d00b0031ee2b1e392si10322968qtb.510 - gsmtp)
Jul 27 17:19:55 ophelia postfix/qmgr[14842]: E0D643F19D: removed
Y ¡¡¡sí!!!, el status del email es “sent” (enviado), por lo que el servidor de Gmail aceptó nuestro email. Buenas noticias. Ahora tenemos un servidor de correo corriendo con entrega local y remota.
¡Ey! 👋 Gracias por tu visita a esta página. Si te gusta mi trabajo, quizás puedas ayudarme con un café, ¡Te lo agradeceré un montón! :-)