RSVPMaker Integration with MailPoet, the Email Newsletter Plugin and Sending Service

RSVPMaker now allows you to include upcoming event listings in email newsletters distributed using MailPoet, the plugin and email sending service recently purchased by Automattic, the company behind WordPress. You can also have people who register for your events sign up for your email list at the same time by including the Mailing Lists Checkbox block in your RSVP form.

Update: MailPoet can also improve the delivery of RSVP confirmation messages and other transactional messages (see below).

For the benefit of interested developers, I’ve included some technical details about the integration at the end of this post.

Test it from the subscriber’s point of view by signing up at RSVPMaker’s MailPoet List Demo page. (The official RSVPMaker list remains a MailChimp list, at least for now).

MailPoet is free for lists of up to 1,000 providers and a less expensive than MailChimp for large lists. Although RSVPMaker includes is own email utilities, including the ability to construct newsletters for distribution through MailChimp, I wouldn’t claim it rivals the design tools MailPoet provides.

To add RSVPMaker event listings in a newsletter, add one of the RSVPMaker shortcodes to a text block, using the custom:prefix. In other words, rsvpmaker_upcoming becomes [custom:rsvpmaker_upcoming]. (Although I’ve put more emphasis on Gutenberg blocks lately, most have shortcode equivalents).

Designing an email newsletter in MailPoet

You can see that the shortcode is producing the expected output by using the MailPoet preview tool. You can preview desktop and mobile formatted versions of your email and send yourself a test before sending out your newsletter.

Preview including RSVPMaker shortcode output.

See the shortcode documentation for more info on the options, but for a weekly newsletter from a website that lists lots of events, you could use something like

[custom:rsvpmaker_upcoming days="14" limit="15" hideauthor="1" excerpt="1"]

That translates to, list up to 15 events from within the next two weeks. Don’t display the post author. If the event description is lengthy, share just the first few paragraphs (will still include the RSVP button, if applicable).

MailPoet for Transactional Emails

MailPoet also helps with the delivery of transactional emails such as password resets and WooCommerce order confirmations (a 2020 enhancement that doubtless helped them woo Automattic’s WooCommerce team). Setup is explained here.

In RSVPMaker, this means turning off any SMTP settings you might have recorded on the Settings screen, Mail Server tab, in favor of using the default wp_mail function. MailPoet will intercept RSVPMaker notifications and relay them through their own sending service.

Here’s a test of a confirmation message, where you can see it’s been sent via MailPoet’s sendingservice.net. This is a way of avoiding issues with your web host’s email servers or the expense of a service like SendGrid. I have this working on the free tier of MailPoet’s service.

Details for Developers

The info below may be of interest if you’re creating your own MailPoet integrations. These are the key functions used in RSVPMaker.

MailPoet strips short tags by default, so the first function tells it not to do that for any shortcode that includes “rsvpmaker” or “event_listing” then strips off the custom: prefix and processes the shortcode. The $email_context global variable prevents the output of JavaScript and other content not appropriate for email.

The second function uses the MailPoet API to add a subscriber if a submitted RSVP form has the “Add me to your email list” checkbox checked.

Customizing MailPoet for a Multisite Network

MailPoet does not officially support WordPress Multisite. I’ve made it available anyway on a multisite setup I run for Toastmasters clubs. The code shared below is not part of RSVPMaker or any public plugin — just a set of hacks for my own application.

The main inappropriate behavior MailPoet exhibits by default is that upon activation it adds a default list that includes all WordPress users — all users from across the network, not just those who are members of the current website. In my usage scenario, it wouldn’t be appropriate for individual club website administrators to be able to see the email addresses of members of other sites — let alone send email broadcasts to them.

My workaround checks for the existence of that list when a site admin access any of the MailPoet screen. If it exists, it’s deleted along with all the subscribers listed in the subscribers table.

Club website administrators are then prompted to add the members of their own site, a few at a time, and those members are sent a prompt asking them to confirm they want to join the list.

Developer’s Wish List for MailPoet

MailPoet provides API documentation for adding lists and subscribers at https://github.com/mailpoet/mailpoet/tree/master/doc

Ideally, I’d also like to have some way of hooking into the designer and providing a visual component for adding RSVPMaker widgets, similar to the integration they have with WooCommerce.

I’d like to have some API allowing me to create a draft of a MailPoet message, for example based on the content of an existing blog post, page, or event.

Given a good API for sending notifications, I’d like to explore using MailPoet to send event confirmations and other transactional notifications for event registration. It would be great to take advantage of their templates and design tools to allow RSVP users to send prettier emails without writing HTML and CSS (unless they want to).

I might be able to hack together my own solutions for some of these things, but it would be great if there was an official path to integrating on these fronts.

Leave a Reply