I have a web server setup with postfix which is relaying email to a zimbra server. This working fine however I have attempted to send a few thousand emails and now the connection from postfix to zimbra is timing out. All of the emails have been deferred on the postfix queue.
If I try to send individual emails from postfix to zimbra it works fine. But if I try to flush the postfix queue all of the emails time out. In mail.log the emails look like this:
postfix/error[2494]: 32B0950C04: to=, relay=none, delay=19431, delays=19402/29/0/0.01, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to mail.server.com[123.45.678.91]:25: Connection timed out)
I have also noticed that in the above message it says "relay=none" for these emails that are failing. But the emails that do send say "relay=domainname.com".
How I can resolve this, by sending the emails in the queue and avoiding this from happening again?
It sounds like you're overloading your Zimbra server, to the point that it can no longer handle incoming requests.
You need to look at your Zimbra server and analyze it to see where the performance bottleneck is. You may also benefit from general performance tuning.
connect to mail.server.com[123.45.678.91]:25: Connection timed out)
This means that the mail was originally addressed to that server.
If this was incorrect, you need to explicitly re-queue the messages using
postsuper -r ALL
This causes the destination to be calculated anew.