Exim: Limitar número de destinatarios por email

Es conveniente fijar un límite de destinatarios Bcc / cc por correo en cualquier MTA, en el caso de Exim, hay que añadir los siguientes parámetros en el fichero de configuración /etc/exim.conf:

recipients_max = 20
recipients_max_reject = true

Cabe decir que de este modo limitas de forma global, para limitar de forma individual para cada dominio es necesario configurar las ACLs, es una configuración específica que por el momento veo demasiado extensa para explicar, si alguien lo necesita puede añadir un comentario y lo tratamos.

Ah, un apunte final, si utilizáis listas de correo con Mailman, esta regla os afectará, y las listas solamente podrán tener 20 destinatarios (o los que configuréis en exim), para saltar esta restricción añadimos lo siguiente en el fichero de configuración de Mailman mm_cfg.py:

# Max recipients for each message
SMTP_MAX_RCPTS = 10

# Max messages sent in each SMTP connection
SMTP_MAX_SESSIONS_PER_CONNECTION = 10

De este modo Mailman sabrá como administrar el envío de mensajes para evitar la restricción de exim.

8 comentarios en “Exim: Limitar número de destinatarios por email

  1. Excelente aporte. Gracias

    Te hago una consulta quizas lo sepas. Necesito limitar el envio de correo enviado por dominio por hora. El tema esta en que coloque la restriccion en exim.pl.

    open(CF,»/opt/mail/config»);
    while() {
    next if (/^#/);
    s/\n//g;
    my($var,$value) = split(/=/, $_);
    if ($var eq «maxemailsperhour») {
    $maxmails = int($value);
    }
    }
    close(CF)

    dentro de /opt/mail/config coloque «maxemailsperhour=300» pero esto no me limita cuando envian correos con CC o CCO o en el para del correo ponen muchos destinatarios y cuenta como un (1) envio nada mas. Como puedo hacer para que cuente los CC, CCO y todos los destinatarios que coloque en el «Para» del correo?

    Gracias

  2. Hola,

    Si tienes cPanel, puede hacerlo desde: Main >> Server Configuration >> Tweak Settings en la opción «Max hourly emails per domain».

  3. Gracias por la respuesta. Me ha servidor. Puedo personalizar el mensaje de rebote que recibiria el usuario que sobrepasa el limite de correos por hora?
    Gracias

    Saludos

  4. hola solo para podir una ayuda necesito restringir el envio de correos de ciertos usuarios a dominios externos como a hotmail gmail que envien solo en la red lan
    gracias de antemano

  5. Estimado Fabian,

    No veo necesidad de realizar tal acción..ni siquiera se me a pasado por mente, creo que debes editar algún archivo… lo siento no podre ayudarte esta vez, pero veré si es posible y te comento..

    Estimada Hera, creo que lo que estas buscando se encuentra desde la sesión Correos dentro de cPanel, opción «Filtración al Nivel de Cuenta»

  6. Interesante explicacion Fabian, yo estoy necesitando la configuracion avanzada como nombras ACLs, podriamos ver este tema?
    Desde ya muchas gracias

    slds!

  7. Pude personalizar el rebote del correo que supere los 300 mails.

    Tuve que crear en el exim.pl una nueva función igual a la checkspam que ya existe en ese archivo. Y luego en el configure de exim Agregar:

    # Este nobre puede ser el que quieras
    fail_remote_domains_exceeded:
    driver = redirect
    condition = «${perl{checkmaxmails}{$domain}}»
    domains = ! +local_domains
    allow_fail
    data = :fail: Se ha superado los 300 correos por hora, tu mensaje va a ser descartado «$domain»

    y checkmaxmails es el nombre de la funcion que esta en el exim.pl

    Esta regla colocarla por encima de la regla «fail_remote_domains»

  8. Cuando el usuario se pasa de los 300 correos, los siguientes correos que envia no salen y rebotan con la leyenda «Se ha superado los 300 correos por hora, tu mensaje va a ser descartado “$domain» este correo llega de nuevo a la cuenta que esta realizando el envio.
    La pregunta es: Se puede hacer que solo llegue un rebote cada hora por ejemplo y NO el total de correos que intenta seguir eviando?
    Por ejemplo: si mando 500, 300 correos salen ok, pero me llegan 200 correos de rebote a la cuenta que esta realizando el envio. Se puede controlar esto?

    Gracias.

Comments are closed.