Skip to main content

Configurar DKIM con Exim en Centos 7

Alejo Sotelo - Developer
Publicado el 13 Febrero 2019 - Modificado el 21 Octubre 2020

Vamos a configurar DKIM con Exim en CentOS 7.

Primero vamos a generar las claves privada y pública con openssl, sin utilizar opendkim ni nada parecido. Conectamos vía SSH al servidor en cuestión y ejecutamos:

openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key

Éstos comandos generan la clave pública y privada (keys). La clave privada la utiliza dkim para verificar que la clave pública (configurada en los DNS) que está en el mail enviado se correspondan. En caso de que estén bien se valida dkim sino falla.

Segundo creamos la carpeta /etc/exim/dkim, copiamos la clave private a la carpeta /etc/exim/dkim/ y luego asignamos el grupo "exim" a la carpeta dkim y a la clave private.key.

mkdir /etc/exim/dkim/
cp private.key /etc/exim/dkim/private.key
chown root:exim -R /etc/exim/dkim/

Tercero, hay que poner la clave pública en los DNS. Con el comando "cat public.key" vemos en la consola la clave. Copiamos el texto que está dentro de "-----BEGIN PUBLIC KEY-----" y "-----END PUBLIC KEY-----". Si por ejemplo la clave es la siguiente:

-----BEGIN PUBLIC KEY----
asdfasdfasdfasdfasdfasdfasJQ
asdfasdfasdfasdfasdfaRJ
qweqwewq
-----END PUBLIC KEY-----

Copiamos solo lo de adentro y lo ponemos en un solo renglon, borrando los saltos de linea, quedando así:

asdfasdfasdfasdfasdfasdfasJQasdfasdfasdfasdfasdfaRJqweqwewq

Éste valor lo remplazamos en lo siguiente: "v=DKIM1; g=*; k=rsa; p=MI_CLAVE_PUBLICA". Quedando así:

v=DKIM1; g=*; k=rsa; p=asdfasdfasdfasdfasdfasdfasJQasdfasdfasdfasdfasdfaRJqweqwewq

Todo este valor hay que configurar en un DNS del dominio. Vamos a CPanel, Ferozo o el gestor de DNS que tengamos. Creamos el DNS con el nombre: "mail._domainkey.midominio.com" de tipo "TXT" con el valor "v=DKIM1; g=*; k=rsa; p=asdfasdfasdfasdfasdfasdfasJQasdfasdfasdfasdfasdfaRJqweqwewq". La duración podemos dejar la que seteé el gestor de DNS, si lo llega a pedir con 14400 (4 horas) esta bien.

Por último vamos a configrar la clave privada en "exim". Para esto vamos al archivo de configuración en /etc/exim/configure, hacemos un backup del archivo por las dudas, luego buscamos la sección "remote_smtp:" y agregamos la configuración para que funcione dkim:

cp /etc/exim/configure /etc/exim/configure.bak
nano /etc/exim/configure

# Buscamos con ctrl + w la palabra "remote_smtp:" y vamos a encontra algo así:
remote_smtp:
  driver = smtp

# Agregamos debajo de "driver = smtp" lo siguiente:
  dkim_domain = $sender_address_domain
  dkim_selector = mail
  dkim_private_key = /etc/exim/dkim/private.key
  dkim_canon = relaxed

El valor de dkim_selector se corresponde con el DNS mail._domainkey.midomio.com. El valor de dkim_private_key con la ruta de la clave privada.
Reiniciamos "exim":

service exim restart

Listo, ya tenemos dkim funcionando con exim en CentOs7. Cómo verificar que funciona? Enviamos un mail desde un mail del dominio en cuestión a un mail de Gmail. Cuando llega a Gmail ingresamos al mail, vamos a los 3 puntitos en vertical para ver más opciones y hacemos click en "Mostrar original". Buscamos la sección DKIM y debería decir 'PASS' con el dominio midominio.com".

Configurar DKIM con Exim en Centos 7

Más artículos de Alejo A Sotelo - Desarrollo Web

12 Mayo 2026
Si trabajás en Linux, Mac o WSL (Windows Subsystem for Linux) y necesitás comprimir o descomprimir archivos desde la terminal, esta guía te va a salvar más de una vez. Cada formato tiene su propio comando, y es fácil confundirse…
07 Mayo 2026
Cuando migrás una tienda a Tiendanube, el trabajo no termina con pasar los productos. Quedan cientos de URLs viejas indexadas en Google que ahora dan 404, y cada una de esas páginas perdidas es autoridad SEO que se evapora. En mi…
28 Abril 2026
Desarrollé SA MCP Server, un componente open source para Joomla 3 y 4 que implementa el protocolo MCP (Model Context Protocol) y permite que asistentes de inteligencia artificial como Claude gestionen el contenido de tu sitio dir…
23 Abril 2026
Hace poco recibí el contacto de una persona cuyo sitio web en Joomla no es gestionado por mi equipo. Me contactó con urgencia: su página estaba funcionando mal, aparecían archivos extraños y temía que los datos de sus clientes es…