Inicio / Blog
Publicado el 13 octubre 2016

20 comandos útiles para Exim

Exim es uno de los servidores de correo más utilizados por su rapidez y facilidad de implementación. Seguramente, el hecho de que sea el servidor de correo utilizado por defecto en los servidores con WHM/cPanel tiene mucho que ver con su elevado volumen de uso. Si utilizas Exim como servidor de correo, aquí te mostramos algunos comandos que te serán muy útiles.

Cómo saber el número de correos enviados por un dominio

En ocasiones podemos necesitar saber cuántos correos ha enviado cierto dominio y desde qué direcciones de correo (para revisar casos de Spam, etc). Con este comando, obtendremos el número de correos enviados por un dominio, y nos arrojará el resultado filtrado por cada cuenta de correo de ese dominio.

grep dominio.com /var/log/exim_mainlog | grep dovecot_login | awk -F"dovecot_login:" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -n

Cómo saber el número de correos enviados por todos los dominios

Este comando nos arrojará un listado de todas las cuentas de correo que han enviado emails y el número de emails enviados por cada una de esas cuentas desde el principio del log de Exim. Muy útil también para detectar casos de spam.

cat /var/log/exim_mainlog | grep "A\=dovecot_login" | awk -F"A=dovecot_login:" {'print $2'} | cut -f1 -d' ' | sort | uniq -c | sort -n | awk {'print $1, " correos enviados por " , $2'}

Si nos interesa obtener este mismo listado pero filtrado por una fecha concreta, nuestro comando será este:

cat /var/log/exim_mainlog | | grep "2016-09-30" | grep "A\=dovecot_login" | awk -F"A=dovecot_login:" {'print $2'} | cut -f1 -d' ' | sort | uniq -c | sort -n | awk {'print $1, " correos enviados por " , $2'}

Cómo saber si hay algún archivo enviando correos por phpMail

Muy útil para detectar fuentes de Spam, que suelen utilizar esta función en los scripts para realizar envíos no autorizados.

find ./ -name \*.php -exec grep -l "mail(" {} \;

Cómo saber qué usuario está realizando conexiones por IMAP y cuántas

ps -ef |grep imap | awk '{print $1}' | sort | uniq -c | sort -g -k 1 | tail

Cómo saber los intentos de login fallidos por IP

Comando útil para saber si han explotado o intentado explotar una cuenta de correo en un ataque por Fuerza Bruta.

awk -F"ffff:" '/FAILED/ {IP[$NF]++;}END{ for ( host in IP ) print IP[host]" "host}' /var/log/maillog | awk '{ if ( $1 > 99 ) print $0}' | sort -nk1 | sed 's#]##' > IPS; for IP in `awk '{print $2}' IPS`; do echo -n $(grep $IP IPS); echo -n " - Failed users: "; grep $IP /var/log/maillog | awk -F"user=" '/FAILED/ {print $2}' | cut -d, -f1 | sort | uniq | wc -l; done

Cómo saber cuántos correos hay en la cola, por dominio

exim -bp | /usr/sbin/exiqsumm

Cómo saber cuántos correos hay en la cola, por cuenta de correo

exim -bp|awk 'NF>1{print $4}' | sort | uniq -c |sort -nk1

Cómo forzar el envío de un correo en concreto

exim -M email-id

Cómo forzar el procesado de la cola de correo

exim -qf

Cómo ver el log de un correo

exim -Mvl mensajeID

Cómo ver el cuerpo de un correo

exim -Mvb mensajeID

Cómo ver la cabecera de un correo

exim -Mvh mensajeID

Cómo eliminar un correo sin enviar un correo de error al remitente

exim -Mrm messageID

Cómo eliminar un correo enviando un correo de error al remitente

exim -Mg messageID

Cómo listar el número de correos en estado «Frozen»

exim -bpr | grep frozen | wc -l

Cómo eliminar los correos en estado «Frozen»

exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm

Cómo saber el número de correos que hay en la cola

exim -bpc

Para tener un poco más de información acerca de estos correos que están en la cola:

exim -bp

Cómo ver cuantos correos de un dominio concreto hay en la cola

exim -bp | grep 'dominio.com>'

Cómo eliminar de la cola los correos de una determinada dirección de correo

for i in $(exim -bp|grep cuenta@dominio.com|grep -|grep @|awk {'print $3'});do exim -Mrm $i;done

Cómo eliminar todos los correos de la cola de correo

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

Todos estos comandos te ayudarán a gestionar de una manera efectiva tu servidor de correo, proporcionándote información muy valiosa para lidiar con el temido Spam y otras cuestiones.  Si sabes algún comando que pueda ser útil y no se encuentre aquí, no dudes en compartirlo en los comentarios!

 

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Digg thisBuffer this pageEmail this to someone

Entradas relacionadas:

Rsync: 10 ejemplos prácticos de comandos Rsync Rsync o Remote Sync (Sincronización Remota) es una potente y versátil herramienta que nos permite copiar y sincronizar nuestros datos de forma local y remota entre diferentes directorios, discos y red...
Optimizando la memoria Swap de nuestro servidor La memoria SWAP (también conocida como espacio de intercambio o memoria virtual) es una partición en nuestro disco duro que se utiliza para almacenar las imágenes de procesos y datos que no es posible...
GlusterFS: crea tu almacenamiento distribuido Vivimos en un mundo donde la información está creciendo de forma impredecible y con ello nuestra necesidad de almacenar estos datos de un modo eficiente. Los sistemas de almacenamiento distribuido, do...
Creando un Raid0 para unir dos discos en Linux Si tienes un Servidor Dedicado seguramente estás familiarizado con el término RAID (Redundant Array of Inexpensive Disks) ya que la mayoría de los proveedores de servidores ofrecen sus máquinas con Ra...

//
proxAdmin

En ProxAdmin le ofrecemos servicios de administración de servidores, soporte helpdesk externalizado y servicios IT especializados que le permitirán mantener una presencia en internet consistente y segura.

¿Tienes algo que decir?