Aller au contenu

Sujets conseillés

Posté

Bonjour, j'ai un serveur dédié sous directadmin.

J'aimerais trouver une solution pour bloquer les mails de plus de 12M.

j'ai bien trouvé une possibilité dans filtre Email: "Bloquer tous les mails qui pèsent plus de :"

Le seul problème c'est que j'aimerais que l'expéditeur reçoive une notification pour lui préciser que son email n'a pas été livré pour cause de trop grande taille.

je n'ais pas encore trouvé de solution à ce problème, si quelqu'un peut me renseigner ?

Merci

 

Posté

Bonjour,

 

Le principal problème est que exim ne peut pas connaître la taille d'un email entrant tant qu'il ne l'a pas accepté.

Donc, cela ne change rien en matière de bande passante, vu que le mail sera de toute manière réceptionné.

Il faut absolument éviter le bounce de ces messages, car là tu doublerais la bande passante...

 

En éditant le fichier /etc/exim.variables.conf de ton serveur dédié et en changeant la ligne "message_size_limit=50M" par la valeur souhaitée,  l'émetteur devrait recevoir un message lui signalant que l'email n'a pas été distribué.

 

Je viens de tester cela sur un de mes serveurs, et l'émetteur a reçu un message dans ce genre :

 
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  dan@****.fr
    host mail.****.net [**.**.**.**]
    SMTP error from remote mail server after pipelined MAIL FROM:<contact@d***s.com> SIZE=1922580:
    552 Message size exceeds maximum permitted
Reporting-MTA: dns; ns*****.ip-**-**-**.eu

Action: failed
Final-Recipient: rfc822;dan@****.net
Status: 5.0.0
Remote-MTA: dns; mail.****.net
Diagnostic-Code: smtp; 552 Message size exceeds maximum permitted
J'avais abaissé temporairement la limite d'email à 1MB ... pour ne pas avoir à attendre trop longtemps, j'ai un ADSL plutôt faiblard ! ;)
Et, bonne nouvelle, le contenu du mail n'a pas subi de bounce...
 
Posté

En modifiant la valeur de message_size_limit , cela influe les emails sortants aussi bien que les emails entrants.

Limitation à garder à l'esprit.

 

 

Posté

Une alternative élégante que j'ai testée sur mon serveur et qui fonctionne bien est d'installer Dovecot avec Pigeonhole et Sieve.

Cela permet d'écrire une règle Sieve telle que celle-ci qui rejette les mails entrants de plus de 10M
 

# Filtre pour Sieve

# Déclarer les extensions utilisées par le script.
#
require ["fileinto", "reject"];

# Les messages de plus de 10MB seront rejetés avec message d'erreur
#
if size :over 10M {
   reject "Désolé, nous n'acceptons pas les messages de taille supérieure à 10MB.
Veuillez télécharger ce contenu sur un serveur et faites nous parvenir un lien..
Merci.";
}

# Garde le reste.
# Pas nécessaire vu la règle implicite de "keep"
#
else {
     keep;
}

Les emails sortants ne sont pas impactés, sauf s'ils sont à destination d'un compte email local (sur le même serveur) !

  • 3 semaines plus tard...
Posté

Pour regarder de plus près, il faut que dovecot/pigeonhole soit installé.

Donc je te l'installe ;)

 

  • 4 semaines plus tard...
Posté

Bonjour, je me suis mis activement sur le sujet pour bloquer la taille des emails supérieur à 15M.

En fonction de ce que j'ai pu comprendre il y a deux méthodes.

j'ai souhaité commencer par tester la 1er méthode utilisant le fichier:

/etc/exim.variables.conf

j'ai commencé par en faire une copier de secours (cp) exim.variables.conf.old

et j'ai utilisé ce bon vieux VI pour modifier la ligne en question :

message_size_limit=15M

et j'ai sauvé le fichier 

 

j'ai ensuite tenté d'envoyer un email de 20M et c'est passé comme une lettre à la poste.

n'étant clairement pas un expert linux j'ai besoin d'un peu de conseil.

Est-ce paracerque le processus serveur de mails n'a pas été relancé ? et du coup il est toujours sur la limite de 50M ?

 

j'ai un peu cherché et j'ai compris que le serveur de mails était le programme exim, 

si je dois relancer le processus y a t'il une commande propre ?

 

Merci à vous

 

 

 

 

Posté

Bonjour,

 

Exim se relance facilement avec "service exim restart" (en tant que root sous ssh) ou encore sous directadmin dans "Information des Services".

 

Cordialement,

 

Dan

 

Posté

Je recompile dovecot avec pigeonhole/sieve .... il semble que la dernière mise à jour n'ait pas gardé ma configuration précédente.

Quelques minutes de patience et ce sera OK !

 

Cordialement,

 

Dan

 

Posté

Bonjour, Dan j'ai testé sur le fichier exim.variables.conf. avec un redémarrage du service.

 

 j'ai lancé plusieurs emails avec des tailles différentes j'ai constaté une petite distorsion, entre la taille constaté des pièces jointes et la taille du mail lors de la réception sur serveur.

 j'ai fais une petite adaptation de la taille dans le fichier de conf et ca fonctionne parfaitement.

 

Cela m'a déjà permis de régler l'urgence.

Merci beaucoup Dan pour votre aide qui nous a été précieuse.

 

Posté

Le mail reçu sur le serveur contient les entêtes complètes, donc il est en toute logique un peu plus volumineux !

 

Si cela vous a permis de régler l'urgence, tant mieux ! C'était le but ! ;)

 

Posté

J'ai créé le fichier /var/lib/dovecot/sieve/default.sieve dans lequel une règle limite la taille des emails à la valeur que tu avais mise dans exim.variables.conf

J'ai édité exim.variables.conf et retiré cette ligne.

Pour info, elle aurait disparu à la première mise à jour. Il vaut mieux éditer exim.variables.conf.custom pour que les modifs restent. ;)

 

Et là l'émetteur du mail recevra la notification suivante si son mail dépasse la taille autorisée :

Citation

"Désolé, nous n'acceptons pas les messages de taille supérieure à 18MB.
Veuillez télécharger ce contenu sur un serveur et faites nous parvenir un lien..
Merci."

J'ai ensuite relancé dovecot (service dovecot restart) et exim (service exim restart)

 

Dan

 

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...