{{indexmenu_n>5}} ## Envoyer des mails massifs sans blacklist À certaines occasions, on peut vouloir envoyer un message à tout·es les utilisateur·ices de Mattermost. Tout envoyer d'un seul coup, c'est redflag pour les gros fournisseurs et direction la [[technique:adminsys:mail:maintenance:blacklist|blacklist]]. ### Rate limiting Lors d'un tel envoi, une des premières choses est de s'assurer que Postfix, notre [[technique:adminsys:mail:archi|MTA]], ne va pas envoyer trop de mails d'un coup. [Google conseille fortement](https://support.google.com/mail/answer/81126?hl=en&ref_topic=1669057#increase-volume) d'augmenter progressivement la fréquence d'envoi et de ne pas balancer un burst. Pour ce faire, on paramètre Postfix pour imposer une limite absolu sur l'envoi de message par seconde au même domaine. Cette configuration a été faite [dans ce commit](https://gitlab.utc.fr/picasoft/projets/services/mail-system/-/commit/7db0221a1d9de36844a7a62e273c36b40a8fefca), et on peut vérifier qu'elle est en place depuis le conteneur mail : ```bash $ docker exec -it pica-mail-mta bash root@99bcd7919bc8:/# postconf default_destination_rate_delay default_destination_rate_delay = 1s ``` Le paramètre `default_destination_rate_delay` a pour effet de créer une file d'attente, délayant la réception des messages de ré-initialisation de mot de passe ou de confirmation d'adresse email. Dans de tels cas, il peut être pertinent de le supprimer jusqu'au prochain envoi de mail. On peut le faire dynamiquement et temporairement depuis le conteneur, comme suit : ```bash postconf -e "default_destination_rate_delay = 0" ``` ## Le header List-Unsubscribe La [RFC 2369](https://datatracker.ietf.org/doc/html/rfc2369) standardise ce header. Il permet d'indiquer une URL ou une adresse mail permettant de se désabonner d'une liste de diffusion. Il est particulièrement apprécié des fournisseurs mail, qui l'utilisent parfois (à l'instar de Gmail) pour afficher un bouton « Se désabonner ». Par flemme de mettre en place un domaine spécifique sur lequel envoyer une requête `POST`, tel que fait usuellement, on peut indiquer une URL `mailto:picasoft@assos.utc.fr?subject=désabonnement` qui ouvrira un client mail pré-rempli. Pour ajouter un header dans Thunderbird, on peut suivre [ce tutoriel](https://www.lifewire.com/arbitrary-custom-heading-email-thunderbird-1173089). . ## Tester son mail avant envoi Le site [mail-tester.com](https://www.mail-tester.com/) génère une adresse mail temporaire à laquelle on peut envoyer le mail ; la conformité SPF/DKIM/DMARC sera ainsi testée, tout comme la présence du header `List-Unsubscribe` mais aussi le contenu du mail via SpamAssassin. Ce peut être l'occasion de l'améliorer.