bp-reply-by-email
bp-reply-by-email copied to clipboard
Inbound email provider suggestions
I'm going to compile a list of potential inbound providers for inclusion into RBE.
Implemented:
(Information partially updated as of April 2025. If you find inaccuracies, please let me know.)
- Postmark - First 100 emails per month free on developer plan.
- Docs: https://postmarkapp.com/developer/user-guide/inbound
- Has UI dashboard for inbound activity. Only shows last 30 days of activity though. Logs email content as well.
- Can blacklist email addresses from inbound processing in UI dashboard.
- Needs one MX record for subdomain.
- Inbound processing counts towards email total.
- Sends processed emails to webhook one at a time.
- SendGrid - Free 60-day trial, 100 emails per day.
- Docs: https://www.twilio.com/docs/sendgrid/for-developers/parsing-email/inbound-email
- Has UI dashboard for inbound activity. Only logs email address and time processed though. Only shows last 3 days of activity. (Pro accounts get 7 days of activity.)
- Needs one MX record for subdomain.
- Inbound processing doesn't appear to count towards email total.
- Sends processed emails to webhook one at a time.
- SparkPost (Now Bird) - No longer offers a free tier for inbound email as of 2024.
- Docs: https://support.sparkpost.com/docs/tech-resources/inbound-email-relay-webhook
- No UI dashboard for inbound activity.
- Has webhook token authentication.
- Needs three MX records for subdomain.
- Inbound processing doesn't appear to count towards email total
- Sends processed emails to webhook in batches.
- Mandrill (Now part of Intuit Mailchimp) - Offers a free 500 transactional email demo. As part of demo, can receive 100 inbound emails per day. This provider hasn't been tested in awhile, so let me know if there are issues.
- Docs: https://mailchimp.com/developer/transactional/guides/set-up-inbound-email-processing/
- TODO: Check if inbound processing counts toward email total. If it doesn't, could potentially stay on free account and demo mode. Check if UI dashboard logs inbound emails.
- Has webhook token authentication.
- Needs two MX records for subdomain.
- Sends processed emails to webhook in batches.
Maybe later:
- Forward Email - Free; unlimited inbound email*
- Docs: https://forwardemail.net/en/faq#do-you-support-webhooks
- Needs two MX records for subdomain
- *Free tier requires a MX record set for webhook configuration
- *Paid tier (starting at $3/month) has additional configuration options including webhook token authentication, bounce webhooks, analytics, logs
- Maileroo - First 1000 inbound emails per month free
- Docs: https://maileroo.com/help/maileroo-inbound-routing-handbook/
- TODO: Check if UI dashboard logs inbound emails, check number of MX records for subdomain, check if processed emails are sent in batches or sequentially.
- Mailgun - 100 emails per day free.
- Docs: https://documentation.mailgun.com/docs/mailgun/user-manual/receive-forward-store/
- TODO: Check if inbound processing counts toward email total; check if UI dashboard logs inbound emails.
- Needs two MX records for subdomain
- Sends processed emails to webhook one at a time.
- Ahasend - FIrst 1000 emails per month free
- Docs: https://ahasend.com/help/integrations/routing
- TODO: Check if inbound processing counts toward email total, check if UI dashboard logs inbound emails, check number of MX records for subdomain, check if processed emails are sent in batches or sequentially.
- Brevo - 300 emails per day free.
- Docs: https://developers.brevo.com/docs/inbound-parse-webhooks
- TODO: Check if inbound processing counts toward email total, check if UI dashboard logs inbound emails, check if processed emails are sent in batches or sequentially.
- Requires domain verification - https://developers.brevo.com/docs/inbound-parse-webhooks#preparing-your-domain
- Requires company profile and phone number during set up process
- Needs two MX records for subdomain
- Amazon SES - Free tier customers receive up to 3,000 message charges free each month for the first 12 months after you start using SES.
- Docs: https://aws.amazon.com/blogs/messaging-and-targeting/manage-incoming-emails-with-ses/
- Requires domain verification - http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domain-procedure.html
Declined:
- ElasticEmail - Requires to be on Pro account to use inbound email.
- Docs: https://elasticemail.com/developers/api-documentation/rest-api#tag/InboundRoute
- No unique headers or server properties to identify if the inbound POST response was from ElasticEmail.
- Needs one MX record for subdomain.
- Inbound processing counts toward email total.
- Sends processed emails to webhook one at a time.
- Mailjet - Requires to be on Premium account to use inbound mail.
- Docs: https://dev.mailjet.com/email/guides/parse-api/
- TODO: Check if inbound processing counts toward email total; check if UI dashboard logs inbound emails; check if processed emails are sent one-at-a-time or in batches
- Needs one MX record for subdomain; requires domain verification - https://dev.mailjet.com/guides/#use-your-own-domain
Some providers sourced from http://socialcompare.com/en/comparison/transactional-emailing-providers-mailjet-sendgrid-critsend
Hey guys,
@r-a-y I was wondering, whether this plugin is still under development and if so, maybe Mailersend could be integrated as an option? They offer 12000 emails / month free of charge, which is a great offer for small NGOs like mine. Plus they have inbound routing, so I think they could be integrated with your plugin? See here: https://www.mailersend.com/features/inbound-emails
Let me know what you think :)
Kind regards, Philip
Sorry for the late reply, @StrothiP.
Plugin is still in development, but mostly for bug fixes. As of right now, I do not plan on integrating Mailersend into the plugin.
If you have access to a developer, that person will need to create a new class to parse the inbound provider's POST response to your website. View examples of other inbound provider classes: https://github.com/r-a-y/bp-reply-by-email/tree/master/includes/classes/ (check the PHP files prefixed with bp-reply-by-email-inbound-provider.
The developer should also register their provider with this filter: https://github.com/r-a-y/bp-reply-by-email/blob/18e720b1cf2969d798dafb2a20a048e768c4a06d/bp-rbe-core.php#L214-L215
Add a new array key with the provider short name and for the array value, add the class name for your inbound provider class. You can also load your inbound provider class on this filter as well.
For example:
function mailersend_rbe_inbound_provider( $retval ) {
require_once FILEPATH-TO-YOUR-CUSTOM-PROVIDER-CLASS.php;
$retval['mailersend'] = 'CLASSNAME_OF_YOUR_CUSTOM_PROVIDER_CLASS';
return $retval;
}
add_filter( 'bp_rbe_register_inbound_providers', 'mailersend_rbe_inbound_provider' );