2

I'm having a problem sending newsletters to certain domains/servers, like yahoo or minor network providers. It's like I'm spamming their servers with connections and they tell me to stop after a short while. I do get a bunch of emails through, but then I'm faced with messages like the below for a period of time (an hour or so) until the connection is reopened:

status=deferred (delivery temporarily suspended: lost connection with mx-eu.mail.am0.yahoodns.net[188.125.69.79]

I'm not interested in spamming their servers with connections and have tried various of different parameters in order to tune postfix to my needs. What I've tried so far in short:

  • Reducing concurrent connections globally
  • Inserting a delay of 1 second globally
  • Reduced the number of processes to as low as 2
  • Created specific policies for the domains in question (source: http://steam.io/2013/04/01/postfix-rate-limiting)

Does any of you have experience in this matter? And would it be possible to create policies for these specific recipient servers for instance yahoo?

Configuration examples will be appreciated.

SteffenNielsen
  • 467
  • 4
  • 15
  • this is greatly depends on what content you sent, and other mail headers in communication. looks like you'r hiding something from us :) – ADM Jul 03 '14 at 09:53
  • Postfix behave as you configure it. If delay 1 wasn't enough, then increase the delay. In my server, I have to set delay to 5s to make yahoo stop deferring email – masegaloeh Jul 03 '14 at 10:35
  • ADM: I'm not trying to hide anything. I'm trying to figure out what would be best practise in order to deliver my emails. Does any of you know if it's even possible to do a limitation of sent messages per recipient server? A 5 second delay would not be ideal in my case, as the delivery would take way too many hours to complete :-/ – SteffenNielsen Jul 03 '14 at 10:52

1 Answers1

4

Postfix is not being particularly aggressive. It's trying to deliver mail in accordance with SMTP and various best practices.

This is Yahoo's fault.

Yahoo has extremely low limits on simultaneous recipients of a message from a single sender. I see this occur with a small 500-member list with only a couple of dozen Yahoo addresses on it.

The contents of this particular list are extremely time-sensitive; if the message isn't received, read and acted on within two minutes, it loses much of its value.

My "solution" is to warn Yahoo Mail users that Yahoo may delay receipt of their mail and that they may wish to consider a different provider. This may or may not work for you. Since Postfix retries the remaining recipients pretty quickly, this isn't usually a serious issue.

Some other possible solutions are:

  • VERP. This makes every message unique and also happens to work around Yahoo's ridiculously low limits, but it slows down delivery and increases bandwidth usage dramatically because message bodies have to be repeatedly transmitted for every recipient. You might want to run tests and determine whether the difference in delivery time is acceptable or not. For something as time-sensitive as the list I mentioned above, VERP is impossible.

  • Change the Postfix smtp_destination_recipient_limit setting. By default this is 50, meaning Postfix will try to deliver to up to 50 recipients per connection it makes to another SMTP server. Since Yahoo only seems to accept about 10 at a time, changing this to 10 would help. However, this would affect delivery to all destinations, even those that don't necessarily need to be artificially limited in this manner, and slow down all mail delivery. And since 50 seems to be an industry-wide best practice, I still won't recommend this.

Finally, the configuration listed in the article you linked seems fine. It's possible that you missed something while implementing it, or that Yahoo has decided it really doesn't like you.

Michael Hampton
  • 237,123
  • 42
  • 477
  • 940
  • Thank you for taking your time to answer this question in details. I'll give it a go with your suggestions and will advise people about delay at certain providers if I still don't find any real solutions that suits my needs. – SteffenNielsen Jul 03 '14 at 13:32
  • 1
    @SteffenNielsen Try to implement this Yahoo best practices also, it will help to increase the reputation of your mail server https://help.yahoo.com/kb/SLN3435.html – ob_dev May 24 '16 at 16:07