MailPress is the most powerful free email newsletter plug-in for WordPress. Its ability to generate automatic newsletters from your posts is a great time-saver. Plus it has some powerful advanced features like open rate and link tracking, mailing lists and autoresponders.
Yet MailPress 5.1.1 also has some limitations, missing features and bugs which can really get in my way when I use it. At present it's merely great; once these issues are addressed it will be awesome.
So here's my list of enhancements I wish MailPress had, which would bring it much closer to replacing commercial email solutions like MailChimp and Aweber which don't integrate with WordPress anywhere near as cleanly. If you're a developer, I encourage you to give Andre a hand by submitting patches to add these enhancements, and fix these bugs.
I've ordered the list from most important to least important (to me, anyway):
Easy Subscribe to Newsletter when Commenting
Add a “Notify me of new posts via email” checkbox in addition to the “Notify me of follow-up comments via email” checkbox, as described by Joost de Valk here. This is a great way to turn commenters into newsletter subscribers and increase engagement on your blog. Here's an example of another blog with this feature.
Also add configuration options to allow both checkboxes to be selected by default, and optionally disabled.
Custom Thank You Page
I'd like to be able to present a custom page of text to the subscriber when they have confirmed their subscription, so I can offer a more friendly greeting along with bonus download links.
Reference: Here is a Google Groups discussion of this.
Subscribe to Mailing List without Default Newsletter Subscription
Subscribing to a Mailing List always adds a Default Newsletter Subscription too. This pops up all over the place, and seems to be a core MailPress limitation at present. You can create a mailing list subscription form with:
At present, there is no way to specify that the new mailing list subscriber should not also be subscribed to the default newsletter. On The Confident Man Project, I have an affiliate signup page which adds affiliates to my Affiliate mailing list; but my affiliates do not usually want to become newsletter subscribers.
I suggest that when the mailinglist parameter is specified, a checkbox should appear saying “Also subscribe to the newsletter”. The checkbox should be enabled by default.
This problem also exists with the Bulk Add field at the bottom of the MailPress Users list: adding new users here also adds them to the default newsletter; to add them to a mailing list without subscribing them to the newsletter, you have to deselect the default newsletter first which is really inconvenient.
Reference: Here is the Google Group thread discussing this.
Omit Certain Posts From The Newsletter
Sometimes I publish a post that makes sense on my blog, but doesn't belong in the email newsletter. It would be good to have a field on the Edit Post page that would allow me to omit these post from the Newsletter. I'd also like to be able to omit posts based on Mailing List subscription settings; for example, don't send a post to subscribers of my Customers mailing list. I don't want to bombard my existing customers with offers for a product I know they've already purchased.
Existing Users Should Be Added To Mailing List by Bulk Add
When adding a new MailPress user via the Bulk Add feature at the bottom of the MailPress Users list with a mailing list selected they don't get added to the selected mailing list if the user already exists. I believe this is a bug.
It's also not possible to Bulk Add users to a mailing list without also subscribing them to the default newsletter. This is a missing feature.
CSV Import Problems
There are a few problems with CSV import:
- Imported users get added to the default Newsletter even if “Add default subscriptions” isn't selected. The workaround is to select “Delete all subscriptions”; but that will delete subscriptions of existing users who were subscribed to the newsletter, which isn't really what you want.
- The importer should recognise columns headed "email" and “name” automatically
- The uploaded CSV file is left in a publicly accessible directory with an easily guessable name.
- I'd also like the ability to ignore certain columns (instead of treating them as meta data).
CSV import is such an important feature, you really want it to handle corner cases correctly.
Reference: Here is the Google Group thread discussing this.
Selectively Disable content Filters in Manual and Autoresponder Emails
Many WordPress plugins register content filters which MailPress applies when sending email manually or from an autoresponder. In some cases this is what you want, and in others it isn't. For example, SEO Smart Links will turn all keywords in your handcrafted email into links back to your site; which isn't always what you want.
I'd like to be able to disable certain plugin content filters in manual emails; I know how to disable content filters in your newsletter but haven't worked out how to disable SEO Smart Links in manual emails. You can't just disable the plugin, since that affects your live site.
Reference: Here is the Google Group discussion of this.
Richer Selection On Sending Mail
When sending an email manually via the Mails menu, MailPress allows you to choose from a single email address, or all subscribers, commenters, mailing list members, or newsletter subscribers. However, you can't combine them or use the Geolocation information MailPress has access to.
I have a mailing list for Customers, and another for Affiliates. Members of these lists are not necessarily newsletter subscribers. I'd like to be able to choose combinations like:
- All newsletter subscribers who are not members of the Customers mailing list
- All members of the Customers mailing list who are not also on the Affiliates mailing list
- All newsletter subscribers in a certain country
- All members of the Customers mailing list in a certain country
- All newsletter subscribers and members the Customers mailing list, without sending duplicates.
Embedded Video Support
Embedded videos, whether created via OEmbed links or shortcodes from popular plugins like the WordPress Video Plugin, generally don't work in popular email clients like Windows Live Mail. Other email services work around this by converting the video into a static image which links to the video on the video hosting service. Users who click the play button in the image find themselves playing the video, and they at least see an image in their email client. At present, all I see when I read a MailPress email with an embeded a video is a blank space.
Embedded Facebook Like, Tweet and Google +1 Buttons
I use the Really simple share buttons plugin to generate the Facebook Like, Tweet and Google +1 buttons at the top and bottom of my posts. But they don't show up when I view my newsletter emails in Windows Live Mail. It would be great if they did, so newsletter readers who like my post can share them more easily.
While it's probably a lot harder to implement, it would also be great if the SexyBookmarks buttons turned into a clickable image that worked, even if it's not animated. At present I disable Sexybookmarks entirely in my newsletter.
Don't Track This Link with Tracking Add-on
The Tracking add-on tracks mail reader activity by replacing all links in a post with tracking links when creating the newsletter. Although link tracking is an excellent feature, sometimes I want the links to be left alone. I'd like to be able to specify a property for each link that indicates that its shouldn't be replaced with a tracking link, like rel=notracking.
Support for External Redirections in Tracking_ga
Affiliate links are generally cloaked/managed using local URLs that point to 301-redirections which send the visitor to the hidden affiliate address. This helps prevents commission fraud by visitors who try to edit the affiliate link. Affiliate links end up looking like this:
instead of the less inviting:
Affiliate link manager plugins such as SEO Smart Links Pro, Ninja Affiliate, Pretty Link Pro, and many others all support this form of redirection, which is also recognised by the most popular Google Analytics for WordPress plugin.
The MailPress Tracking_ga add-in adds UTM tracking parameters to all links to the local site, so that Google Analytics can track which MailPress emails users clicked links in to bring them back to the site. Tracking_ga correctly omits these parameters from links to external sites. However it currently doesn't recognise that links beginning with the redirection prefix are actually external links. When tracking parameters are added to these links, they can confuse the external site.
Tracking_ga should be enhanced to add a parameter similar to the Google Analytics for WordPress plugin's “Internal links to track as outbound:” parameter. All links beginning with these prefixes should be treated as outbound links so that no tracking parameters are added to them. (Note the Google Analytics Plugin's “Track outbound clicks & downloads:” field is only available if “Track outbound clicks & downloads:” is selected, but the problem exists even if that option is disabled; so Tracking_ga needs its own field).
Manual Republish Button
A button on the dashboard sidebar that tells MailPress to republish a post in the next newsletter.
Automatically Republishing Old Posts
When no posts have been published in WordPress for N days, republish the post that was last published longest ago in the newsletter. This would enable blogs with large amounts of content to cycle through their content indefinitely when no new articles are being published, say because I'm on holidays or no longer writing new content. N should be configurable; I'd set it to 7 by default.
I know you can already do a similar thing with the autoresponder feature, but this would be much simpler to use than manually setting up an autoresponder with the content of every post and would automatically accomodate new content.
The Tweet Old Post plugin does something slightly similar for your Twitter feed. It would also be cool to republish old posts to Facebook and Google+. A single plugin that handles all four would be ideal.
Remind and Delete Users That Don't Confirm
Many user registrations on my blogs never get confirmed. The biggest source of these is spam comments; Akismet doesn't filter the spam until after it's accepted, meaning spammers end up registering bogus addresses for updates to comments on articles they spam. Other anti-spam plugins can do a slightly better job by trapping spam before registering the spammer, but this doesn't always work either. If the confirmation mail bounces due to a bad address it won't exceed the bounce handling threshold and even some legitimate users never confirm their subscription.
For MailPress maintenance to be automated, users who don't reply to the confirmation email should be reminded after one week, and deleted from the database after two weeks.
Editing A User's Email Address
You can't edit a MailPress user's email address on the Edit MailPress User page. The only way to do it is to delete the user and create them anew. I'd like to just be able to edit the field instead.
To modify a MailPress theme, you have to copy it; then merge future updates manually. It would be good to have the equivalent of WordPress child themes.
"Add Form" Doesn't Work
When adding a Form, the Add Form button clears the form creation form without adding a form to the list on the right hand side. This makes the entire Form feature inaccessible. It only happens on some sites, but if it hits yours then you can't create contact forms. The only workaround is to use another contact form plugin, like Contact Form 7.
Paragraph Spacing Is Missing In TwentyTen Theme
It's easy to fix, but the paragraph spacing is missing in the MailPress TwentyTen them.
Being able to insert text in a blog post that's conditional depending on where the article appears would be useful. Sometimes I want to include a statement like "Over the next few weeks, I'll be posting a series of articles on XYZ", and have it only appear in the email newsletter since such a statement doesn't make sense in an evergreen blog post.
[conditional email]Over the next few weeks, I'll be posting a series of articles on XYZ[/conditional]
[conditional web]This only appears on the web[/conditional]
[conditional rss]This only appears in the RSS feed[/conditional]
[conditional !email]This doesn't appear in the email newsletter, but does appear on the web and in the RSS feed[/conditional]
Being free software, to address these issues you either have to do it yourself, motivate and/or reward the developer(s), or hire a contractor to do it for you. Otherwise go with a commercial solution like MailChimp or Tribulant WordPress Newsletter. Got any MailPress wishlist features or bugs of your own to mention?