Skip to: Content or Footer

WordPress, receive outgoing emails using Proton Mail Paid Plan

Created on
No updates
Approx ~8 minutes reading time for 1,505 words.

Introduction

This technique will not work with a free plan, in order to achieve this you’ll need a Proton Mail paid plan.

You’ll be required to edit your Domains DNS records allowing a 3rd party (MailerSend) to setup SMTP credentials which isn’t possible with the free version. Follow these three steps and if you get approved for a MailerSend account you’ll be able to receive outgoing mails.

Step 01. Signup for a MailerSend Account

Unlike many other bulk email services MailerSend offers an SMTP service, this is the element we need to make this whole process work! If approved you can setup a free tier for low volume mails.

MailerSend Logo
MailerSend Logo

To begin the process head over to MailerSend and click the “Sign up” blue button (top right hand corner.)

Next, complete the tasks list

There are five tasks you need to complete (See Image 1.)

  1. Verify your email address.
    Fill in an email address, a reply will quickly be sent with a link to verify that address.
  2. Review and accept SenderMail policies.
    This is a document outlining their rules and industry practices. You’re asked to agree with their Anti-Spam Policy.
  3. Add your sending Domain.
    This is the Domain you want to send outgoing mails to Proton Mail. Once setup you can send from any email address attached to that Domain or associated subdomain.
  4. Verify your sending Domain.
    This section shows all the DNS records you need to update or add (See Image 2.)

    4.1. Update SPF record.
    IMPORTANT
    You already have a SPF record applied whilst configuring Proton Mail and you can only have one SPF record. Add the include:_spf.mailersend.net text string to the right of your existing record, after the v=spf1. Make the TTL (Time To Live) 5 mins.

    For example, from…
    v=spf1 include:_spf.protonmail.ch mx ~all

    To…
    v=spf1 include:_spf.protonmail.ch include:_spf.mailersend.net mx ~all

    4.2. Add a TXT record for DKIM.
    Next two are more straight forward, add a TXT record for DKIM and set TTL to 5 mins.

    4.3. Add a CNAME record for Return-Path.
    This is the address where bounces and other email feedback are sent to. It’s specified by the Return-Path header in an email. Again, set the TTL to 5 mins.

    4.4. Click ‘I have added DNS records’ & ‘Verify domain’.
    This will trigger MailerSend to check your updated DNS records, this is why it’s important to set those TTL‘s to something low and manageable. Worst case scenario it’ll be ~24 hours for the DNS to fully propagate. If it takes slightly longer than you anticipate, check back and click the Verify button again until you see it’s all complete. Then you can…
  5. Get Approved.
    This will take you to an online form (See Image 3) in which you supply various details that MailerSend will use to assess if you are eligible to be granted a working account. Make sure your website is representative of what you will be offering, in other words, not just a landing page with Latin holding text.

Step 02. Enable SMTP

If approved you will be sent an email stating you can proceed.

Whilst signed in to MailSend, go to Dashboard > Domains > Your-Domain-Name > SMTP and click the button next to the text “Send emails using our SMTP servers instead of our REST API.” You will then see a drop-down area (See Image 4) populated with the details you will need for the next step.

If like me you appreciate privacy for yourself and others you can disable Track opens & Track clicks under Tracking details (See Image 4.)

Step 03. Download and configure the MailerSend WordPress plugin

Install the MailerSend – Official SMTP Integration Plugin as you would normally do, for those using Composer

"wpackagist-plugin/mailersend-official-smtp-integration": "*",

Once installed, activate and click on Settings (from the Plugins Admin page, or click the “MailSend SMTP” link in the left hand menu.)

MailerSend: Plugin Details
MailerSend: Plugin Details

The details you need for ‘SMTP username and password’ can be found by following Dashboard > Domains > Your-Domain-Name > SMTP in your MailerSend account (See Image 4.)

Then fill fill in the ‘Senders details’ section and test the whole thing by adding an email address into ‘Send a test email.’

MailerSend: Send a test email
MailerSend: Send a test email

If you receive that email… That’s it, all done.

Final thoughts

I’ve been looking for a solution to receive mails into Proton Mail for quite some time. Using MailerSend was the “magic sauce” I’ve been hunting for.

The Proton Bridge server route is fraught with complexities and I would strongly argue that it’s not worth the overheads and risks. YMMV but I’m sticking to this secure, easy to manage and maintainable system.

I hope this all works out for you and “happy mailing!”

// End of Article

Article Information

Category: Technical
Topics: #Tech-Stack, #WordPress

Dave Barr

Bristol based Scottish Expat who has 20+ years experience of Web Development and is continually on the look out to improve his skill sets. Learning new and innovative solutions for current requirements in the world of IT, WebDev and eCommerce.

About Dave Barr

Image for Dave Barr
Bristol based Scottish Expat who has 20+ years experience of Web Development and is continually on the look out to improve his skill sets. Learning new and innovative solutions for current requirements in the world of IT, WebDev and eCommerce.

Read more about Dave

Click to Copy