Loading ...
Sorry, an error occurred while loading the content.
Skip to search.

Re: destination_rate_delay and connection_reuse_time_limit

Expand Messages
  • Viktor Dukhovni
    ... This is fine, since you set the concurrency limit to 1, it is intended to avoid shutting down deliveries after a single connection failure. As Wietse
    Message 1 of 74 , Jan 8, 2013
      On Tue, Jan 08, 2013 at 10:47:08AM -0200, Rafael Azevedo - IAGENTE wrote:

      > I've added this into my main.cf:
      > slow_destination_concurrency_failed_cohort_limit = 5

      This is fine, since you set the concurrency limit to 1, it is
      intended to avoid shutting down deliveries after a single connection
      failure. As Wietse points out this does not stop deliveries when
      individual recipients are rejected, that is not evidence of the
      site being down.

      > Question: how can I stop postfix from trying to deliver emails
      > after few failures?

      It is not possible to aumatically throttle deliveries based on 4XX
      replies to RCPT TO. This is not a useful signal that Postfix is
      sending "too fast", nor is there any good way to dynamically
      determine the correct rate.

      Sites that impose indiscriminate (assuming you're sending legitimate
      email, not spam) rate controls are breaking the email infrastructure.
      Sadly, the work-around is to snowshoe---deploy more servers to split the
      load over a larger number of IP addresses.

      > I mean, if it is trying to deliver to xyz.com and it fails 5
      > times, should postfix keep trying to deliver or is there any way
      > that we can stop delivering for some time?

      Only if xyz.com is down, not if it is merely tempfailing RCPT TO.

      > This is the error I get:
      > said: 450 4.7.1 You've exceeded your sending limit to this domain.
      > (in reply to end of DATA command))

      Since presumably at this point your connection rate is not high
      (connections are being re-used), it seems that they're imposing
      a message rate cap as well as a connection rate cap.

      Send them less email.

      > I'm really trying to slow down the delivery speed in order to
      > respect the destination's policies. I just can't figure out how to
      > fix this issue.
      > We send about 50k emails/day to 20k domains hosted on this provider
      > that are being blocked.

      The output rate cannot on average fall below the input rate. The
      input rate is approximately 1/sec (there are 86400 seconds in a
      day). Thus the slowest you can send is with a rate delay" of 1s.
      If that's not slow enough, you're out of luck, and have to buy
      more servers (possibly deploying them on separate networks).

      The suggestion to turn off rate delays was based on an assumption
      that they told you to avoid connecting too often and wanted all
      the mail over a single connection (you wanted connection re-use),
      but connection re-use works best when there is no rate delay.
      A rate delay of 1s is still compatible with connection re-use,
      and is the largest you can specify and still send more than
      43.2k messages a day.

      It may be simplest to outsource your traffic to an existing large
      bulk email operator.

    • Wietse Venema
      ... No it doesn t. Postfix logs delivery temporarily suspended and skips Yahoo until the dead host timer expires. Wietse
      Message 74 of 74 , Jan 9, 2013
        Rafael Azevedo - IAGENTE:
        > > When all greetings fail with 4xx or whatever then Postfix will
        > > suspend deliveries.
        > I have no idea about what I'm doing wrong, this really doesn't
        > happen in my servers.

        No it doesn't. Postfix logs "delivery temporarily suspended" and
        skips Yahoo until the "dead host" timer expires.

      Your message has been successfully submitted and would be delivered to recipients shortly.