Prêt à optimiser Exim sur cPanel?
Par défaut, Exim utilise par défaut de vieilles valeurs datant de plusieurs décennies pour de nombreux délais d'expiration des messages.
En conséquence, Exim permet souvent aux e-mails défaillants de rester dans la file d'attente pendant des jours.
En fait, Yahoo! diffère souvent les e-mails de cPanel en raison de ces problèmes de dépassement de délai.
La configuration Exim par défaut de cPanel utilise des délais d'expiration pouvant aller jusqu'à 5 jours. Ces longs délais d'attente sont un vestige de l'époque où les réseaux n'étaient pas fiables.
Pour garantir que les interruptions du réseau n'ont pas bloqué un e-mail, en utilisant de longs délais d'attente dans les files d'attente de messagerie. Les serveurs de messagerie peuvent essayer un e-mail pendant des jours avant d'abandonner.
Aujourd'hui, les réseaux sont rarement en panne pendant plus de quelques minutes. Nous nous attendons également à ce que les e-mails arrivent presque instantanément. Nous n'avons donc pas besoin de conserver un message plus de quelques heures.
Pour résoudre ce problème de délai d'expiration, nous utiliserons le gestionnaire de configuration Exim de cPanel pour modifier quelques valeurs, en particulier:
- log_selector
- ignore_bounce_errors_after
- timeout_frozen_after
- RETRYBLOCK
En réglant ces paramètres pour mieux s'adapter à Internet d'aujourd'hui, vous pouvez améliorer la délivrabilité des e-mails.
Configuration d'Exim de sauvegarde
Avant d'apporter des modifications à la configuration Exim de cPanel, créez une sauvegarde.
Vous pouvez le faire facilement sous le robinet de sauvegarde. Accédez au gestionnaire de configuration Exim et cliquez sur l'onglet Sauvegarde.
Meilleure journalisation (log_selector)
Bien que n'étant pas spécifiquement lié aux délais d'attente, j'aime ajuster la journalisation par défaut utilisée par Exim. La configuration Exim par défaut de cPanel laisse de côté certaines informations utiles. Pour modifier les détails du journal, vous devez
modifier les champs log_selector.
J'utilise cette valeur:
log_slector= +address_rewrite +all_parents +arguments +connection_reject +delay_delivery +delivery_size +dnslist_defer +incoming_interface +incoming_port +lost_incoming_connection +queue_run +received_sender +received_recipients +retry_defer +sender_on_delivery +size_reject +skip_delivery +smtp_confirmation +smtp_connection +smtp_protocol_error +smtp_syntax_error +subject +tls_cipher +tls_peerdn
Cela augmente la verbosité de vos journaux, ce qui peut être utile pour identifier les erreurs de courrier électronique et le spam. Vous pouvez voir certains tutoriels recommander "+all", mais je trouve cela trop verbeux.
Meilleure gestion des rebonds (ignore_bounce_errors_after)
Des échecs de livraison permanents se produisent lorsque Exim ne peut pas remettre l'e-mail au destinataire et lorsqu'il n'y a pas d'expéditeur valide pour envoyer le renvoi. Lorsque cela se produit, Exim fige le message de rebond.
Une fois qu'un message atteint le délai d'attente ignore_bounce_errors_after, Exim essaie de remettre le message une fois de plus. Si cela échoue, Exim ignore le message.
Je vous recommande de régler cette valeur sur 1 heure.
En réglant cette valeur sur une heure, vous pouvez rapidement vous débarrasser des rebonds. Habituellement, si vous ne pouvez pas envoyer un message dans l'heure, le message ne peut jamais être envoyé, il n'y a donc aucune raison de le garder.
Se débarrasser des messages gelés (timeout_frozen_after)
Si timeout_frozen_after est supérieur à zéro, Exim annule le message lors de la prochaine exécution de la file d'attente. Contrairement aux paramètres ignore_bounce_errors_after, ce délai s'applique à tous les e-mails gelés.
Si le message figé est un message de rebond, Exim le rejette; sinon, Exim envoie un rebond à l'expéditeur.
Je vous recommande de régler ce paramètre sur 8 à 12 heures.
Des problèmes de réseau peuvent survenir, en particulier si vous avez des clients qui envoient des e-mails avec un serveur de messagerie auto-hébergé. (Oui, il existe encore de nombreuses petites entreprises avec des e-mails hébergés sur un serveur MS Exchange assis sous un bureau).
Nouvelle tentative de remise des e-mails (RETRYBLOCK)
Le RETRYBLOCK détermine quand Exim retentera la livraison des e-mails. Par défaut, cPanel utilise le bloc de nouvelle tentative suivant:
+secondarymx * F,4h,5m; G,16h,1h,1.5; F,4d,8h
* * F,2h,15m; G,16h,1h,1.5; F,4d,8h
La valeur par défaut configure Exim pour réessayer la remise des e-mails toutes les 15 minutes pendant 2 heures, puis avec des intervalles commençant à une heure et augmentant d'un facteur de 1,5 à 16 heures, puis toutes les 8 heures à 5 jours.
C'est jusqu'à 5 jours. Exim peut garder un e-mail dans la file d'attente pendant 5 jours!
Il n'y a pas besoin de délais aussi longs. Voici quelques paramètres que je recommande
* data_4xx F,4h,2m
* rcpt_4xx F,4h,2m
* timeout F,4h,5m
* refused F,1h,10m
* lost_connection F,1h,2m
* * F,6h,5m
Avec ces règles, nous définissons différents délais d'expiration pour différentes conditions. Par exemple, la liste grise utilise souvent une erreur de série 400, donc ici, nous réessayons toutes les 2 minutes pendant 4 heures.
Un délai d'attente de connexion est probablement un problème de réseau temporaire, nous réessayons donc dans 5 minutes. La dernière règle intercepte toutes les autres erreurs et réessaye toutes les 5 minutes pendant 6 heures.
Conclusion
Maintenant, votre configuration cPanel Exim expirera les messages plus rapidement. En expirant les messages plus rapidement, vos utilisateurs apprennent plus tôt les rebonds d'e-mails.
De plus, en empêchant l'Exim de cPanel de réessayer trop souvent la livraison, vous pouvez réduire le risque d'atterrir sur une liste noire d'e-mails .