MailChimp owned and operated transactional email provider Mandrill recently announced that they were eliminating their stand-alone offering. Instead, their services will be incorporated as an add-on feature of MailChimp’s paid email marketing service. Mandrill has allowed users to send up to 12,000 emails per month through their service for free. Users are able to track statistics such as opened emails, bounces, etc., everything that is important to understand the effectiveness of your email marketing campaign.
SparkPost is the new, MailChimp recommended, alternative for all those users that are losing their free Mandrill services. SparkPost allows users to send up to 100,000 emails per month in their free tier. This is a great alternative to Mandrill, and SparkPost CEO Phillip Merrick said:
…should the terms of our free tier of pricing ever change in the future, I promise we will nevertheless honor it for any customer currently enrolled at that tier, for the life of that account.
This is an opportunity that should not be overlooked. Statistics tracking is similar to Mandrill's, and if SparkPost can maintain high levels of performance with all of the Mandrill users that will be migrating to the new platform, this really is a no-brainer. But, and this is a BIG but, I have discovered one important detail with SparkPost that can turn into a support nightmare for anyone using the service for their website generated transactional email.
Let's say you run a very active WordPress/WooCommerce based website on a high end host. You've chosen a high end host for the additional security and performance features available to help protect and boost your site's conversion rates. You've used Mandrill for some time so you can track your site's mailing performance. Now you decide to switch to SparkPost's generous free tier because of the change in Mandrill's fee structure. You download and install the SparkPost plugin, set it up as per the instructions, and your first test email doesn't go through. You receive the following error:
Connection: opening to smtp.sparkpostmail.com:587, timeout=300, options=array ()
SMTP ERROR: Failed to connect to server: Permission denied (13)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
You switch to the alternate port and receive yet another error:
Connection: opening to smtp.sparkpostmail.com:2525, timeout=300, options=array ()
SMTP ERROR: Failed to connect to server: Permission denied (13)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
You can send your emails through Outlook and other systems not associated with your website, but SparkPost just won't work on your website. You open up support tickets with the site host, SparkPost, and the SparkPost plugin developer hoping that someone has an answer. You even try a different WordPress SMTP plugin to see if the issue is associated with the SparkPost plugin. Nothing you try to resolve this works.
The first response you receive is from your host's support team. He/she tells you that the SparkPost IP address(es) are not registered in their firewall. You ask SparkPost for their SMTP IP address(es) so your host can unblock their server and are told that the host firewall should use their domain name because the SparkPost IP address is not permanent and subject to change at any time without warning. This is a BIG problem because the Unix firewalls that most hosts use can only unblock ports for IP addresses. It is not possible to configure these firewalls to unblock a port for a specific domain name.
You explain to SparkPost that this request to your host is impossible to fulfill. SparkPost then sends the following email:
Here are our shared IP addresses, however, these are prone to change without notice.
1 – 54.244.48.130,
2 – 54.244.48.140,
3 – 54.244.48.142
Host firewalls need to be configured with IP addresses. When an IP address is a moving target and subject to change at any time, configuring the firewall is at best a temporary solution. Even though your host may be extremely responsive and add a new IP address to the firewall in a short turn around, any disruption in the business services you provide to your customers can be disastrous. For this reason, it may be better to wait awhile before switching to SparkPost. They either have to use permanent IP addresses for their SMTP server or the plugin developers need to add a HTTP API to send emails through generic ports (80/443).
Thanks for your input
Another problem I faced with SparkPost was, that I cannot change the “From address” on-the-fly – a feature, that I need to work for my project-collaboration-application to enable my users to send Work-Breakdown-Structure-assigned emails outgoing from the web-app.
SparkPost notices:
“Also remember that your “From address” needs to be from a domain that you’ve set up as a valid sending domain in SparkPost and is listed as ‘Ready to Send’”
The application is using PHPmailer, and the dynamic selected value for the “From address” is populated from the user’s registration email-address, stored in a database.
… during my typing here I was able to create a sendgrid.net account, update the PHPmailers $mailersName $mailersPass $mailersHost & test it -> success!
Hello Victor
Thanks for detail writeup about the problem. I’m one of the developers of sparkpost’s wordpress plugin. I am sorry to hear the problem you faced.
Just wanted to inform you that, just a day before your article (https://github.com/SparkPost/wordpress-sparkpost/commit/87a7a67cc0606db579d184d4dead064a8b132b32 – it might have taken a few more days to come as release though), we’ve updated our plugin to support sending emails over HTTP.
Though hosting providers usually should unblock these common ports upon request, I understand all may not do that. So if you select HTTP mailer from sparkpost plugin settings, it will use port 443 which is very unlikely to be restricted. So, I would suggest to try the latest version of our plugin and give us your feedback. Please feel free to open an issue in our issue tracker (https://github.com/SparkPost/wordpress-sparkpost/issues) and, as developer friendly company, we also appreciate pull requests to address a known problem.
cheers.
True, sometimes sparkpost is nightmare.
We are using SparkPost after Mandrill close its service for free. But still we didn’t faced any problem as described above.