Choosing a sending frequency: how does it work?

This article refers to MailPoet 2

If you're looking for MailPoet 3 articles, please go to MailPoet 3 Knowledge Base

There are 3 things to consider before setting up a sending frequency:

  1. The sending method you are using: Your own website or Third party
  2. The amount of emails allowed by your sending method
  3. The speed of your server

1. Sending Method

Your own website (PHP Mail or Sendmail)

Why it's good: it's the fastest method.

Why we don't recommend it:

  • If you are using a shared server (cheap hosting accounts), the chances of your server's IP address being blacklisted (by abuse from other people on the same server) are huge. This means you will be considered a Spammer and your newsletters will end up in your subscribers' Spam folders.
  • Sometimes you don't have control over the bounce email address (Return-Path header).
  • Some hosting companies don't allow you to send emails from their servers, on these cases, both PHP Mail or Sendmail will be deactivated on your server.
  • If you don't have a dedicated server, the amount of emails allowed will be just a few per day, usually 50~200 emails/day.
Third party

Why it's good:

  • You won't be using your own server to send the newsletters. This means that your SMTP service probably has a dedicated IP address for sending emails. As such, you won't be considered a Spammer.
  • You can change the bounce email address (Return-Path header).
  • Greater daily sending limits.
  • It's even better if MailPoet supports the API of the third party service (currently SendGrid and ElasticEmail only). This means that the connection to this external service from your website will always work.

When we don't recommend using a Third-Party sender:

  • If your hosting company blocks the access to the SMTP Ports on your server. This means your MailPoet won't be able to send newsletters, as it can't connect to the external service via the SMTP protocol. In these cases, you'll have to use a third party service with API support on MailPoet (we recommend SendGrid).

2. The amount of emails allowed

Your hosting company or third party SMTP service sets your daily or hourly sending limit.

MailPoet cannot automatically detect this value.

Contact your hosting company or view our own compiled list of sending limits for each web host.

3. The speed of your server

The speed of your server matters. MailPoet usually takes 1 second on average to send each newsletter/email. In this 1 second, MailPoet processes the subscriber data, parses the shortcodes within it, generates the email code, records this information in the database and connects to the service to send the email.

There is also a PHP variable setup on your server called max_execution_time. This variable determines the amount of time, in seconds, a PHP script can execute, until it's been shut down by the PHP process. The default value for most of the servers is 30, which means 30 seconds to run. So, on average, MailPoet will be able to send 30 newsletters/emails until this process is shut down.

That's why increasing this value will also increase the amount of emails per batch that you can send.

If your server is very fast, but the  max_execution_time is set to 30 seconds, then it won't matter. MailPoet will only be able to send 30 emails per batch. By "per batch" we mean the custom interval you set.

Example: A sending frequency of 100 emails each 5 minutes, means that during each cycle of 5 minutes (the interval), MailPoet will try to send 100 emails.

So make sure your  max_execution_time is at least set up to: 100

This explains why trying to send 1000 emails per batch won't work, even if it is technically allowed by your server or third party service!

This is a bit "techy" but we hope it's understandable.

Pay attention to your host limits: some have daily limits, while others have hourly limits. Contact your hosting company or view our own compiled list of sending limits for each web host to set the proper sending frequency for your server.

If you need to send with a frequency higher than 5 minutes (100 emails per minute, as an example), you'll need to setup a Cron on your server.

What if I send more than I should?

If you try to send more than your host's max daily or hourly limit, MailPoet's queue system will simply wait. Some hosts may stop emails from being sent once their limit is reached, but still tell MailPoet that they have been sent successfully.

Warning: some hosts will terminate your contract if you exceed their limit. This has happened to a Network Solutions client using MailPoet!