toutes les fiches

// comment corriger

Erreur « 552 Message size exceeds fixed limit » (Postfix, Gmail, Exchange)

Email refusé en 552 5.3.4 ou 5.2.3 car trop gros ? Les vraies limites de taille, pourquoi les pièces jointes grossissent, et comment envoyer ou relever la limite.

Ce que ça veut dire

Un serveur a refusé votre email car il dépasse la taille maximale qu'il accepte. Chaque serveur du parcours a sa propre limite : le vôtre, celui de votre fournisseur et celui du destinataire. Le texte varie selon le système :

552 5.3.4 Message size exceeds fixed limit

C'est la formulation de Postfix. Le message d'erreur de Gmail commence généralement par 552 et indique que votre message « exceeded Google's message size limits » (avec le statut 5.2.3 ou 5.3.4 selon le cas). Microsoft 365 renvoie un rapport de non-remise (NDR) comme :

550 5.2.3 RESOLVER.RST.SendSizeLimit.Sender; message too large for this sender

avec les variantes SendSizeLimit.Org et RecipSizeLimit (trop gros pour le destinataire). Ne confondez pas avec 552 5.2.2 boîte pleine, où la taille du message est correcte mais où le destinataire n'a plus de place.

Pourquoi cela arrive

  • Les pièces jointes grossissent à l'envoi. Les fichiers sont encodés en Base64, ce qui ajoute environ 33 %. Un fichier de 20 Mo devient environ 27 Mo pendant le transfert, au-delà d'une limite de 25 Mo.
  • Limites courantes (elles peuvent changer, vérifiez la documentation actuelle) : Gmail accepte les pièces jointes jusqu'à 25 Mo ; le message_size_limit par défaut de Postfix est de 10 240 000 octets (environ 10 Mo) ; les boîtes Exchange Online sont limitées par défaut à environ 35 Mo en envoi et 36 Mo en réception, et les administrateurs peuvent monter jusqu'à 150 Mo.
  • C'est la plus petite limite qui l'emporte. Si votre serveur accepte 50 Mo mais que le destinataire n'accepte que 20 Mo, le destinataire refuse le message.
  • De nombreux destinataires ou des images intégrées peuvent alourdir le message, tout comme une conversation transférée avec toutes ses anciennes pièces jointes.

Comment vérifier

  1. Lisez le message d'erreur. Le serveur cité dans l'erreur vous indique quelle limite vous avez atteinte : la vôtre (à corriger vous-même) ou celle du destinataire (que vous ne pouvez pas changer).
  2. Regardez la taille annoncée par un serveur. Beaucoup de serveurs annoncent leur limite en réponse à EHLO :
    swaks --to user@example.com --server mx.example.com --quit-after EHLO
    Cherchez une ligne comme 250-SIZE 36700160 (en octets).
  3. Vérifiez vos propres réglages Postfix :
    postconf message_size_limit mailbox_size_limit
    Ainsi que la taille du message refusé dans le journal (size=).
  4. Sur Microsoft 365, dans Exchange Online PowerShell :
    Get-Mailbox user@yourdomain.com | Format-List MaxSendSize,MaxReceiveSize
    Get-TransportConfig | Format-List MaxSendSize,MaxReceiveSize

Pour tester un message de taille normale depuis le même outil, envoyez-le à l'adresse unique affichée sur la page d'accueil de Delivmail : le rapport confirme que le reste (authentification, score de spam) est correct.

Comment corriger

Envoyez moins de données

  • Partagez les gros fichiers avec un lien (Google Drive, OneDrive, Dropbox ou équivalent) au lieu de les joindre.
  • Compressez ou réduisez les images et les PDF avant de les joindre.
  • Répartissez les fichiers sur plusieurs emails.
  • Retirez les anciennes pièces jointes des conversations transférées.

Les liens sont aussi plus sûrs pour la délivrabilité : certains types de fichiers sont bloqués quelle que soit leur taille (voir pièces jointes bloquées ou signalées).

Relevez votre propre limite (si c'est votre serveur qui a refusé)

Pour Postfix, à 50 Mo :

postconf -e "message_size_limit = 52428800"
systemctl reload postfix

mailbox_size_limit ne doit pas être inférieur à message_size_limit (réglez-le à 0 pour ne pas limiter les boîtes si le stockage est géré ailleurs). N'oubliez pas qu'un filtre de contenu ou un relais placé devant peut avoir sa propre limite.

Pour Microsoft 365, par boîte mail :

Set-Mailbox user@yourdomain.com -MaxSendSize 50MB -MaxReceiveSize 50MB

Des règles de transport ou des connecteurs peuvent aussi imposer des limites plus basses ; vérifiez-les si les valeurs de la boîte semblent correctes.

Si c'est le serveur du destinataire qui a refusé

Vous ne pouvez pas changer sa limite. Envoyez un lien, ou demandez au destinataire de la faire relever par son administrateur.

Vérifiez que c'est corrigé

Envoyez une version plus légère (ou le lien) à l'adresse qui avait refusé le message et vérifiez qu'aucune nouvelle erreur n'arrive. Si vous avez relevé votre propre limite, envoyez un fichier de test juste en dessous de la nouvelle taille à une adresse interne et vérifiez que le journal affiche status=sent. Lancez un nouveau test Delivmail pour vous assurer que rien d'autre dans le message ne pose problème.

Vérifiez que c'est corrigé

Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.

Fiches liées