Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently writing an email client for fun/practice and I've noticed that after sending out a handful of test emails (10 or so) over a short period of time, the emails stop going through. At some point later I'm able to send again from the client and the process starts over.

Is it possible that my ISP's mail server is detecting me and temporarily blocking me? And if that is the case, why are they doing that, and is there another way for me to test my mail client?

share|improve this question
up vote 5 down vote accepted

Yes. The ISP is probably implementing "rate limiting" to thwart the efforts of spammers.

  • Spammers don't like to be delayed because they are victimizing millions of recipients in as short a time as possible (it's a race against having their web site or other services shut down, so they want to get the maximum number of responses before the inevitable cut-off).

You could install a local SMTP server for your testing purposes. One that I like is Mercury/32, which works quite well even in high-volume scenarios (I used it to process over 50,000 eMail messages per day for a large and diverse user base for many years):

  Mercury/32 and Pegasus Mail by David Harris

enter image description here

share|improve this answer
Does my ISP's mail server single me out as a possible spammer because I haven't registered this IP address as a mail server with them? – Ryan May 13 '11 at 7:18
Probably not, because most ISPs just arbitrarily block outbound TCP port 25 traffic to everywhere except their own internal eMail servers (so their users can send eMail) -- this prevents what is called "direct-to-MX mailing" by spammers using Spamware designed to send eMail directly to each victim's SMTP server, and it also prevents open SMTP relay abuse (another technique used by spammers to abuse the internet). If you do need to run an SMTP server, then you'll need to get a Static IP address from your ISP and have a PTR record configured in their DNS ARPA zone (yeah, "registered"). – Randolf Richardson May 13 '11 at 7:21
@Ryan Yes, there are a couple of other things to consider too. An MX record would help. What other ISPs may do is "ask" if your IP address really belongs to a registered mail server. Also, a RFC-conform client that sends its correct host name is sometimes needed. Or a client that correctly communicates with greylisting servers. As I said, there are lots of things nowadays :) – slhck May 13 '11 at 7:24
I wasn't looking to run my own mail server. I mainly just wanted to write my own email client and use it. Is there a way I can do just that without having the ~10 email limit before timeout? – Ryan May 13 '11 at 7:31
@Ryan As @Randolf said, just test it locally, Mercury is good, if you can run Linux there are a couple of alternatives as well. – slhck May 13 '11 at 8:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .