Bulk e-mail zonder duplicaten

Stel je voor dat een lid groepen en subcategorieën heeft geselecteerd waarin hij geïnteresseerd is.

Ik wil een aankondiging sturen naar degenen die een van die groepen en subcategorieën hebben geselecteerd.

Voorbeeld: In een stad die bestaat uit de wereldwijde hoofdstad, verschillende stadsdelen en zaken.
Ik zou ook groepen hebben die specifiek zijn voor een stadsdeel-zaak.

De gebruiker kan kiezen:

  • Een specifieke zaak (die als algemene groep),
  • Een groep in zijn stadsdeel voor deze zaak,
  • Een groep in twee andere stadsdelen voor deze zaak,
  • Een tweede specifieke zaak (die als algemene groep),
  • Alle groepen in alle stadsdelen voor deze zaak,
  • De hoofdgroep voor de hoofdstad;

Als ik een e-mail wil sturen naar een of meer groepen of subcategorieën binnen deze groepen, kunnen sommige gebruikers meer dan één e-mail van dezelfde aankondiging ontvangen, vooral als de persoon de hoofdstedengroep heeft geselecteerd die de informatie van alle stadsdelen en zaken zou doorsturen, plus enkele subgroepen, enz.

De vraag: Hoe kan ik een mailing voorbereiden die meer dan één doelgroep en subcategorieënlijst raakt, zonder duplicaten, en die boodschap verzenden?

  1. Heb ik een extern script nodig?

  2. Heb ik een externe e-mailprocessor nodig?

Bedankt

Marc

Als u gegarandeerde dubbele-vrije levering over willekeurige groepen en categorieën nodig heeft, moet u:

  • Gebruikerslijsten exporteren uit de doelgroepen of categorieën.
  • Deze lijsten samenvoegen en dedupliceren, handmatig of met een script.
  • Een externe e-mailprocessor gebruiken om het bericht naar de gededupliceerde lijst te verzenden.

Dit is de meest robuuste manier om ervoor te zorgen dat gebruikers niet meerdere keren dezelfde aankondiging ontvangen.

Bedankt, weet u of we dat kunnen automatiseren, zoals het aanvragen van de API om berichten te ontvangen voor elke nieuwe ledenregistratie/intrekking of groep/categorie selectie, en alleen de nieuwe wijzigingen te ontvangen OF (minder goed) de hele lijst met hun groep/categorie, die kan worden aangevraagd door een Python-programma?

(Ik kan Python programmeren). De vraag gaat meer over het automatiseren van de communicatie tussen Discourse en Python EN Python en Mailing processor.

Discourse provides a robust REST API that allows you to:

  • List all users, groups, and user-group memberships
  • Monitor new user registrations and group join/leave actions (via polling or webhooks)
  • Retrieve category membership configurations

You can query either the full list or attempt to track recent changes. For full incremental change detection, you may need to implement time-based checks and manage differences locally. Authentication is handled through HTTP headers (Api-Key, Api-Username).

However, for more efficient and integrated control, I recommend creating a custom Discourse plugin. A plugin runs inside the Discourse server environment and provides direct access to Discourse internals, such as:

  • User, group, and category membership updates
  • Lifecycle event hooks for registrations and group changes
  • Direct access to Discourse’s internal APIs and database

This approach gives you real-time capabilities and greater flexibility for implementing automated workflows like mail handling or user segmentation.

  1. Kunnen we een plugin maken die werkt op ons exemplaar, zelfs als deze wordt gehost door Discourse, of moeten we deze zelf hosten?

  2. Moet ik vervolgens voor het e-mailen de lijst exporteren die door de plugin is gemaakt?

  3. Wat zou een plugin doen? Kan ik een soort lange lijst maken binnen de Discourse-server? Of is het de bedoeling om informatie naar een andere server te sturen?

Bedankt

If it’s an unofficial plugin, I think you can only install it on the Enterprise plan, otherwise you’ll have to self-host it.

  • Generate dynamic lists (user/group/category data) and display or store them within Discourse.
  • Export data to a file, or create downloadable admin reports.
  • Make HTTP(S) requests to another server (e.g., push user list updates to your Python/email tool).
  • Trigger webhooks, schedule tasks, or integrate directly with external APIs—all from inside Discourse, with no polling required.

@EMHmark7 did you end up figuring out how you want to get this working?

In Discourse, one way to get at what you want is to create categories and to let members in the community “subscribe” to those categories by choosing the “watching” notification level. The Default categories watching or Default categories watching first post are handy for having an announcements category on your site, to reach out to everyone on your site.

I believe there are ways to manage the above based on group membership or some other criteria but I haven’t done it myself in a while - maybe somebody else has a recipe they can share.

Another approach is to PM the groups directly - if you send a PM to a handful of groups and the same member is in multiple groups there will not be any duplication.

But it does sound to me like you might be looking for a different tool, if what you want is not a forum or community that people log into to participate in discussions but rather a bunch of mailing lists that sends out email.

All of this can live in code outside Discourse, so you don’t have to install it. If you are using WordPress then you can get a bunch of this for free using GitHub - discourse/wp-discourse: WordPress plugin that lets you use Discourse as the community engine for a WordPress blog, and then use another WordPress plugin to handle the mailing list part.