views:

2258

answers:

3

We run a large online community in the Netherlands. Because of that we send a lot of mail to the hotmail email addresses of our members. Recently we have noticed that not all mail is reaching our members, because we have hit a certain limit or so it seems.

Google doesn't give a solution (yet) but we see a lot of others having the same problem. Note, We have added (since long) SPF records for our domain, in TXT and SPF types. What else can we do to tackle this problem?

// Ryan

+1  A: 

421 means that the service is not currently available, and that the client should try again. This could be for any number of reasons, including trying to discourage you from too frequent mailing if Hotmail thinks you might be a spambot.

Why not simply let your outbound smtpd queue the mails and try again?

Why is "not all mail reaching your members"? Don't you try again if you get a 421 response?

EDIT: Do what sqook says.

bzlm
+1  A: 

To add to what bzlm said, hotmail probably isn't rejecting your mails, so much as trying to use rate-limiting to prevent spam. That said, there are a few potential solutions you could use here. You could contact hotmail and see about getting your mailserver exemption status from their rate-limiting. Depending on the size of your community, they may or may not respond to you or be willing to work with you. I suggest this only as the "diplomatic" solution.

Or, you could set up two mail servers; one for hotmail users, and one for everybody else. I know from some of the sites that I run that a lot of people register with hotmail accounts, mostly because everybody has one which they use as a "spam dump" for online services where they don't want to use their real email address. So, as you no doubt realize, the number of hotmail users in your database represents a fairly substantial percentage. Therefore, when you need to send an email, you could determine whether to send it to your normal SMTP server, or your hotmail-designated one. On the hotmail SMTP service, you'd need to add some type of waiting mechanism to sleep a certain amount of time after receiving a 421 response.

The problem with this idea is that the number of hotmail users you have, plus the delay you'll encounter in sending, means that the queue length might very well exceed the number of mails you must send. You could alleviate this problem by setting up secondary/tertiary servers, preferably on other networks... but I'm getting ahead of myself here. At any rate, I did a bit of googling around (as you probably have, too), and this isn't such an uncommon problem, but there is no obvious solution to it.

So likely, you'll either have to create some type of slightly-unorthodox network workaround, or try the "diplomatic" route and contact an organization unlikely to care about your problem. I'd suggest doing both in parallel. :)

Nik Reiman
Instead of brewing your own "delay if sending fails" mechanism, I still vote for using a real local outgoing mail server instead. Any old smtpd will do, even the one that comes with IIS.
bzlm
Yeah, that would work too; my main point was more that he should make separate outgoing servers for hotmail and everything else.
Nik Reiman
A: 

The only real way to "get around" this is to become a good e-mail citizen. Make it easy for people to unsubscribe from your notifications, establish complaint feedback loops with the major mail providers, remove bouncing e-mails from your list automatically, don't send people e-mails they don't want to receive. Failing to adhere to these simple requirements makes you look like a spammer, and providers like Hotmail will treat you like one.