4

We have exim running in queue-only fashion. The reason is that we are a bulk sender (a legitimate, double opt-in) and have experienced Yahoo and Hotmail throttling. The best practices state that once they inform you of throttling (like Yahoos TS-01 or TS-02 error), you should STOP SENDING for 4 hours. If exim is in a traditional setup this does not happen, every message that is sent to exim is tried to be sent immediately. When it fails, it waits the 4 hours, but this doesn't stop the 500 emails behind it to the same host from being tried.

In any case, my question is this: How do we force emails to mydomain.com AND hisdomain.com to be FORCED SENT IMMEDIATELY. I was thinking of some exim command we could run via cron every 5-10 minutes. Before we send out a large dispatch, we always send a test to these 2-3 domains, but now we are waiting 30+ minutes to be able to check delivery (due to it being queued).

I know you can force a message to be sent, but this requires its messageID, so I think I need to combine a command that grabs the IDS for these domains with one that forces them... I'm just not sure how to do this.

Ben A. Hilleli
  • 183
  • 1
  • 6

2 Answers2

6
exim -Rf "mydomain.com" 

will be better

Ilja
  • 432
  • 2
  • 9
2

How's this:

  exiqgrep -ir mydomain.com|xargs exim -M

Seems to do the job, except for when we get those lousy "Line Mismatch" errors from exiqgrep (what are those about?!)

Ben A. Hilleli
  • 183
  • 1
  • 6
  • This sounds like a small bug. Can you find a mailq entry which causes this and open a new serverfault issue with exim as the tag? Paste the entire output of the 'exim -bpu' command for this particular email which causes the bug, and I think we can get this bug squashed in exiqgrep. It's a simple regex that must be choking on something it's finding in your mailq. – Todd Lyons Mar 31 '14 at 13:34