Comment définir la limite de vitesse d'envoi d'Email?

J’ai un forum sur Discourse, mais avec une limite de vitesse d’envoi lente (20/seconde).

Puis-je définir une limite de vitesse d’envoi sur Discourse ?

Je pose cette question car j’ai constaté que la table unsubscribe_keys contenait près de 500 000 enregistrements par jour, alors que mail_log en comptait seulement 9 000 et skipped_mail_log 1 000. Notre forum compte également près de 500 000 membres.

Je ne suis pas sûr que cela soit dû à un envoi d’e-mails trop rapide, provoquant des problèmes étranges, alors j’essaie de limiter la vitesse d’envoi, mais sans succès.

Unsubscribe_keys

email_log

Vous devez obtenir un serveur de messagerie plus rapide et/ou modifier les paramètres afin que le courrier let soit envoyé.

Vous pouvez modifier la fréquence d’envoi des e-mails de résumé et changer le paramètre du nombre maximal d’e-mails par jour.

Il n’existe aucun paramètre de limite de débit.

Pas sûr que le taux d’envoi soit nécessaire…
Même si nous pouvons augmenter à probablement 60/sec, il est toujours possible que le serveur envoie trop vite et soit bloqué.

Quel outil utilisez-vous pour envoyer des e-mails ?

J’utilise le service AWS SES

Avez-vous signalé le problème à leur support ?

Pourquoi tant de membres de Discourse reçoivent-ils des courriels ? Et pour quelles raisons exactement ? C’est la question la plus pertinente.

Sur une installation typique de Discourse, le seul courriel envoyé à « tous les utilisateurs » est le résumé, et même celui-ci s’adresse uniquement aux utilisateurs qui n’ont pas visité le site depuis une semaine ou plus, mais qui ne sont pas absents depuis plus d’un an.

En général, vous ne recevez des courriels que lorsque quelqu’un s’adresse directement à vous, et même alors, uniquement si vous n’avez pas interagi avec le site via un navigateur web au cours des 10 dernières minutes.

Nous avions organisé une activité il y a quelque temps (il y a plusieurs mois). Cette activité avait attiré environ 90 000 membres inscrits. Maintenant, ils sont peut-être absents depuis quelques semaines. Le système leur a donc envoyé des e-mails récapitulatifs.

Avez-vous trouvé une solution ? Je suis sur le point de passer à Amazon SES et je viens de réaliser que notre limite initiale est de 14 e-mails par seconde. Je ne sais pas à quelle vitesse Discourse va les envoyer vers SES. Le site envoie beaucoup d’e-mails.

Quelqu’un sait-il quel est le taux maximal d’envoi d’e-mails par Discourse ? Va-t-il essayer d’envoyer plus de 14 par seconde ?

S’il envoie trop rapidement, je me demande s’il ne serait pas judicieux d’écrire un script qui répartirait uniformément les horaires d’envoi des résumés pour tous les utilisateurs sur toute la semaine, au lieu d’envoyer la majeure partie d’entre eux en un seul jour (notre anniversaire d’importation).

Édition : J’ai réalisé que je pouvais déterminer si c’était un problème en consultant les journaux de Mandrill. Sauf si je vois un throttling supplémentaire de la part de Mandrill, je pense que nous avons un maximum d’environ 8 e-mails par seconde, donc cela devrait aller.

Salut Josh !

Pour les résumés, vous pouvez limiter cela à 14 par seconde en définissant cette variable globale de Discourse à 420, comme suit dans votre fichier de construction du conteneur :

 DISCOURSE_MAX_DIGESTS_ENQUEUED_PER_30_MINS_PER_SITE: 420

Cela ne correspond pas exactement à ce que vous souhaitez, mais c’est très proche.

Puisque 14 par seconde (d’après votre message) multiplié par 30 secondes égale 420, ce paramètre global limitera les résumés à environ 420 toutes les 30 minutes, tout comme le « dit » le code :

Voir également :

Naturellement, si votre canal SMTP envoie d’autres e-mails, vous devrez réduire cette valeur ; ou vous pouvez configurer un canal différent et séparé pour les e-mails de résumé (comme nous le faisons).

Remarque : Ce paramètre global est défini par défaut à 10 000 toutes les 30 minutes ; ce qui représente beaucoup de résumés par heure, si vous me demandez mon avis ;). Nous l’avons donc fixé beaucoup plus bas afin d’avoir une facture SendGrid « raisonnable » chaque mois.

30 résumés toutes les 30 minutes = 1 440 par jour, soit environ 43 200 par mois (car nous envoyions beaucoup de résumés avant que je ne fasse ce changement il y a quelques jours). Le mois prochain, je vais augmenter cela à environ 60 résumés toutes les 30 minutes, soit environ 86 400 résumés par mois, plus ou moins.

J’espère que cela vous aidera.