Mailpoet is the easiest and best solution if you want to host your own autoresponder newsletter. It’s easy to set up and install as a wordpress plugin and it doesn’t tax your server when paired with third party services like Mandrill.
- Mailpoet is free for up to 2000 subscribers.
- Mandrill is free for up to 12000 emails per month. Additional emails cost cents per thousand compared to cents per email with a newsletter service like Aweber or Mailchimp.
If you are sick of the high costs of newsletter services and not afraid to tinker with a bit of php, Mailpoet is the solution you’ve been looking for. Stop worrying about losing your lists and accounts based on the whims of your newsletter service. Your mailing list is (or should be) the lifeblood of your online business and you need to own it. Do not leave this asset under control of a third party.
Just remember to BYS. Backup your shit. Because a kitten dies every time a newbie goes onto a forum to complain they’ve lost their entire online business and they didn’t have a backup. Don’t be that guy.
This tutorial will show you how to setup Mailpoet on an existing wordpress blog and integrate it with Mandrill which will track click/open rates and send out emails.
The entire process should take less than an hour from installation to list import.
Skill level: beginner/intermediate
What you’ll need
- Mailpoet plugin (free)
- Mandrill account (free)
- A wordpress blog
- Access to email settings in cpanel (optional but recommended)
Let’s start! Mailpoet and Mandrill Account Setup
Installing Mailpoet from the WordPress plugins repository is straightforward. Search for mailpoet under wordpress plugins. Install and activate the plugin.
Now go and signup for a free Mandrill account.
Click “Get SMTP Credentials”, then on the next page click “+Add API Key”.
Go back to your Mailpoet settings page and click the “Send with” tab. Select third party and copy and paste the details from Mandrill. You’ll want to set secure connection to TLS. Click the “send a test email” button to see if you can send emails. Mandrill has an hourly limit of 250 emails per hour for their free accounts. Set your Mailpoet send rate to 25 per 10 minutes.
Another setting you’ll want to enable is “Allow HTML edits” under the Advanced tab. Trust me on this. The default behavior of the email editor will drive you crazy otherwise.
Setup Click Tracking In Mandrill
Head back to your Mandrill account and mouseover the gear icon in the upper right corner. Go to the “Sending Options” page. Make sure you tick the boxes to enable tracking for clicks and opens.
Verify Your Domain And Setup Email Authentication
Go to the gear icon again and go to the “Sending Domains” page. Add your domain and click the “verify a domain” button on the right hand side of the page. Click the link in the verification email.
Next, click the “View SPF settings” link. Take note of the address in the popup.
Now go and open the “Email Authentication” page in your cpanel dashboard.
Click the Enable button under SPF and add “spf.mandrillapp.com” to your include list.
Save your settings and test your DNS settings back in your Mandrill account.
You’ll only have to do this once for all the domains on your shared hosting account.
Edit Mailpoet To Integrate Mandrill Click Tracking
I use Mandrill for email analytics as these features are blocked in the free version of mailpoet. Unfortunately mailpoet rewrites all email links with their own permalinks and we lose link data in Mandrill.
In WordPress, go to Plugins>Editor and select the Mailpoet plugin from the dropdown list at the upper right of the page. Search and click on the link for the helpers/mailer.php file.
We are going to edit line 924 which is where Mailpoet gathers all the links found in each email. We want Mailpoet to ignore all of our manually placed links but still process links unique to the email such as the unsubscribe and activation links.
This is an easy one line fix.
Find this line of code
if(!preg_match_all('#href[ ]*=[ ]*"(?!mailto:|\#|ymsgr:|callto:|file:|ftp:|webcal:|skype:)([^"]+)"#Ui',$email->body,$results)) return;
and replace it with this line of code.
if(!preg_match_all('#href[ ]*=[ ]*"(\[unsubscribe_link\]|\[subscriptions_link\]|\[view_in_browser_link\])"#Ui',$email->body,$results)) return;
Even More Reasons to <3 Mailpoet – WordPress Integration
- With Mailpoet you can include a checkbox in your comments form that lets readers opt-in to your list when they leave a comment.
- Easily and automatically send out digests of your latest blog posts to your list or automatically append your latest blog posts to the end of your emails.
- Mailpoet has shortcodes to display the total number of subscribers on your blog. Include this in your widgets area for some social proof if you have a large list.
What About Deliverability?
Common wisdom among IMers states that your emails will end up forever lonely in spam boxes and you will lose your hosting account due to spam complaints. Their solution of course, is to signup to aweber or getresponse through their conveniently placed affiliate links.
This is a misconception that refuses to die for some reason. If you expect to just install Mailpoet and start blasting emails with your cheap shared hosting account then prepare to fail.
A trusted third party mailer like Amazon SES or a free Mandrill account solves all these problems. And from my experience outperforms traditional newsletter mailers as my new Mailpoet+Mandrill powered messages are not landing in the promotions folder in my gmail accounts. Hmmm how interesting….
There’s no ability to define different unsubscribe and subscription confirmation pages for each list. The unsubscribe and confirmation pages you set for the plugin apply to all of your lists. Advanced segmentation and tagging is also missing in the current version of the plugin.
For some odd reason the developers really insist that the default code for the opt-in forms appear in the widgets areas. You’ll get some funny looking bugs if you try to use the default html/php code that the plugin spits out in you content area . Remember to always use the wysija shortcode if you want to put your opt-in form in your content or in another plugin’s content area. The downside to this is that you won’t be able to tinker and manually add additional code to your form fields.
And that’s it! You’re now ready to import your subscribers and setup your lists.
Remember that there’s no segmentation in the current version of Mailpoet so you’ll want to pre-segment your lists into smaller well-defined lists instead of importing everyone under one big list. You’ll also want to edit the default unsubscribe and confirmation emails and pages. Finally remember to create an autoresponder newsletter if you plan on offering a free gift after your users opt-in as there’s no default “welcome email” in Mailpoet.
Comments? Questions? Leave a comment.