Ask Bjørn Hansen wrote:
On Apr 20, 2009, at 9:10, jan wrote:
i forward the mails via smtp plugin. Now the receiving Mailserver had
some Problems. How can i restart sending for mails in /var/spool/
qpsmtpd?
Hi Jan,
The default SMTP plugin doesn't queue the mails. The sending mail
servers should be resending them though.
There's a distinct advantage to _not_ queuing the emails, as long as you
react properly to backend fails. If your backend fails, tempfail, and
the sender retries.
It means that if the qpsmtpd server blows its disk, you don't have
backups of the queue to worry about. We perform no backups whatsoever
on our qpsmtpds.
If one of ours blows up, recovery consists of: getting the machine (or a
new one) back up, reformat/reclone OS if required, and rsync over a new
image of the entire qpsmtpd install (we don't use the default
directories, and the image contains _everything_ required, including a
specific version of Perl). Then we run a small script to re-establish
the cron jobs etc. Done.
Our SMTP plugin is, I think, derived directly from the default one - it
"replays" the SMTP conversation to the back-end before issuing the final
DATA ack to the sender. The back-end's DATA ack (or nack) is the
qpsmtpd's response to the sender. Which could even be a tempfail.
The main changes we've made to our SMTP plugin over the default is the
ability to failover amongst multiple backends, and it does simplistic
load balancing.
The only time we encounter problems (given multiple backends) is when we
have infrastructure hiccups (like all the frontends in a given DMZ have
problems with a firewall). But those are returned as tempfails (after
all the failovers have been exhausted), and the sender retries - perhaps
to a machine not having the problem, or, after the problem is fixed.