How to get around “too many concurrent SMTP connections from one IP address” errors when mass mailing to web.de customers, with over 15 web.de recipients in the list?

The issue is a known problem of web.de servers (still existing in 2009-10) and discussed here. According to that source, the “clean” solution is to restrict the number of concurret SMTP connections to 5 when sending to web.de. However, when at a shared hosting provider, you do not have access to the sendmail etc. configuration, and there should be a solution that does not involve asking the support.

When sending mails from your mail client, you can duplicate the mail, sending each copy to no more than 15 web.de recipients plus others. This is however tedious, if you have to send many mails this way.

The problem also happens when using mailman for example, a group mailing list, and available on HostGator servers. It is not possible to throttle it on HostGator servers, so that they do not recommend it. Which of course also means that you cannot make it send mails to web.de at a slower rate. To throttle mailman, one needs access to the mail transfer agent (sendmail, postfix or other) [source]; which is not possible in shared hosting.

It’s better to set up a mailing list that allows throttling, and configure it to send mails out not too fast. This is possible for example when using PHPList and changing only this one setting to differ from the default: change

define('MAILQUEUE_THROTTLE',0);

to

define('MAILQUEUE_THROTTLE',8);

This will send one e-mail in 8 seconds, and this should never get in conflict with web.de’s restriction on the number of concurrent SMTP connections.

The above setting is also a way to meet your hosting providers restrictions on how many e-mails you can send out in one hour (a widespread restriction with shared hosting providers). See these links, referring to HostGator:

Hostgators mass mailing restrictions are detailed on their mail policy page.

Hostgator offers Phplist as a one-click installation via fantastico.

Now PHPList is a one-way announcement mailing list, no group mailing ist (source). Also, it does not offer posting to the list by e-mailing it. As the well-known group mailing lists do not support throttling themselves (applies to ecartis, ezmlm, ezmlm-idx, mlmmj, Sympa), they cannot be used here however. So we need to hack PHPList for this purpose. (For ezmlm, there seems to be a throttling hack however.)

Hacking PHPList to allow for moderated e-mail based submissions. Preferred solution.

  • Get the Mail2List PHPList plugin to work, using its wiki page and the corresponding forum thread.
  • Automate the “Process new mails” task of the plugin by a cron job, by changing PHPList so that its reglarly run cron job will do this (before runnung the “process queue” task). This task should be changed so that it creates “draft” state messages from the mails, and at the same time e-mail some moderators that there are new mails to be moderated.
  • Set up all list recipients to be allowed to post to the mail-in e-mail address.
  • After somebody mails in a message, the moderators will get informed, and a moderator will log in and finally send the stored message, or delete it.

Hacking PHPList to allow for moderated form-based submissions.

  • One would write a little script that provides a form to submit a message.
  • The message is then entered as “draft” into the PHPList database, and also forwarded to moderators. The moderators are listed in that script, and have access to the PHPList admin interface where they can send or deleted queued messages, and write messages themselves.
  • The script can be integrated with a CMS like WordPress; there are multiple plugins (also for WordPress) that could be used as a template or extended for that purpose; see on integrating PHPList with other packages. By adding a special list to the recipients of a message, the moderators could also do mail-in publishing in a CMS (WordPress, for example, has this feature).

Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.