0

I have just setup my own Exim SMTP server to send emails

But I experience something strange when I sent out newsletters.. Alot of times when I send through Exim, mails are delivered with a delay up to an hour after it was actually sent??

Lets say I send a mail 09:41. The mail is sent but is received by the recipient at 10:25.. But the timestamp on the mail is still 09:41

Why is that??

When the mails were sent they where all sent in the same "keep-alive" SMTP (TCP) connection (~1000 mails was sent in a few minutes)

Then alot of people will not see my mail because it ends up between old and read mails because the timestamp is up one hour old when the mail hits the inbox

log

2019-10-16 09:41:21 1iKdvt-0002cc-8A <= newsletter@example.com H=smtp.example.com (example.com) [2a01:4f8:140:43a1::2] P=esmtpsa X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no A=plain_server:example S=6921 id=W7EVMeu2x4beoTgU8bfdbVw3B2xdt2sVtEOQEcQb7E@example.com
2019-10-16 09:41:21 1iKdvt-0002cc-8A no immediate delivery: more than 10 messages received in one connection

How to send the emails instant instead of putting them in a queue?

  • Did you check the exim mail log to see if the mails are processed quickly? Are you using any type of external mail filters? – Harijith R Oct 16 '19 at 10:41
  • have updated my question – clarkk Oct 16 '19 at 11:21
-1

Mail will go into a queue first. That's sane, actually needed it (you don't want to block a whole thread because of greylisting until you can send a message, for example).

What you can do is change the configuration so that the queue is read inmediately for those messages. Add (or change the existing value):

smtp_accept_queue_per_connection=20

That will queue (and send ASAP) up to 20 messages per connection. Right now the limit for you is 10.

| improve this answer | |
0

Your problem is not your local queue. Your problem is the setup time between two queue runs on your system.

Exim as an MTA has no really good queue management; it just looks every time it runs to send out as much as possible and that's it.

Look at the parameters Exim uses to run in the process list, if it is e.g. this:

exim -q30m

it means that a queue run happens automatically every half an hour. Some distributions might not use this parameter, but put it into a cron job instead.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.