WordPress, receive outgoing emails using Proton Mail Paid Plan
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.
What to look for gallery
Image Index
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.
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.)
- Verify your email address.
Fill in an email address, a reply will quickly be sent with a link to verify that address. - 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. - 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. - Verify your sending Domain.
This section shows all theDNSrecords you need to update or add (See Image 2.)
4.1. UpdateSPFrecord.
IMPORTANT
You already have aSPFrecord applied whilst configuring Proton Mail and you can only have one SPF record. Add theinclude:_spf.mailersend.nettext string to the right of your existing record, after thev=spf1. Make theTTL(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 aTXTrecord forDKIM.
Next two are more straight forward, add aTXTrecord forDKIMand setTTLto 5 mins.
4.3. Add aCNAMErecord forReturn-Path.
This is the address where bounces and other email feedback are sent to. It’s specified by theReturn-Pathheader in an email. Again, set theTTLto 5 mins.
4.4. Click ‘I have added DNS records’ & ‘Verify domain’.
This will trigger MailerSend to check your updatedDNSrecords, this is why it’s important to set thoseTTL‘s to something low and manageable. Worst case scenario it’ll be ~24 hours for theDNSto 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… - 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.)
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.’
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
Further Reading
- MailerSend Website (mailersend.com)
- MailerSend Getting Started Help (mailersend.com)
- MailerSend – Official SMTP Integration Plugin (wordpress.org)
- Proton Mail Paid Plans (proton.me)