[TriLUG] backup email server

Michael Hrivnak mhrivnak at triad.rr.com
Mon Jun 21 00:14:45 EDT 2004


One more question:  If my primary server is down, how often will the backup 
server retry?  I took my primary server down just long enough to send a test 
message through the backup server, and I'm wondering when I should be 
expecting it!

I've manually tested the setup, and it works beautifully relaying email as 
long as both servers are up.  The only quirk is that I had to change it to 
use all interfaces instead of the default "localhost".

Thanks again,

Michael

On Sunday 20 June 2004 10:47 am, Aaron S. Joyner wrote:
> Tanner Lovelace wrote:
> > Michael Hrivnak said the following on 6/20/04 12:00 AM:
> >> mydomain = hrivnak.org
> >> mydestination = $myhostname, localhost.$mydomain, localhost
> >> relay_domains = $mydestination hrivnak.org
> >> delay_warning_time = 24
> >>
> >> The rest are defaults.  I think this will make the machine relay mail
> >> to hrivnak.org.  Am I correct?
> >
> > Now, the other wrinkle here is that if the second mail server
> > for some reason thinks its the final destination for hrivnak.org
> > it will try to deliver the items locally.  I've only ever used
> > backup mail servers in other domains, so I'm not sure what
> > switches to use to make sure it doesn't keep any mail locally
> > that should be sent on.  Perhaps someone else can speak to that?
> >
> > Cheers,
> > Tanner
>
> To build on what Tanner has already said, you need Postfix *not* to see
> hrivnak.org as a local destination.  That's controlled in Postfix by
> mydestination=<blah>.  In your above configuration you have setup
> mydestination, and it appears to be quite acceptable.  As long as the
> hostname of the machine is not hvirnak.org (doubtful) then you should be
> in good shape.  There are a few other things to keep in mind, though.
> Does this machine to spam checking, or username validation?  Since
> hrivnak.org isn't going to be a very heavily traveled domain, you're not
> likely to attract the attention of spammers sufficiently to make this a
> problem, but...  be aware that with a secondary mail server that accepts
> mail for all usernames, it's entirely possible that I can fill the queue
> to ridiculous proportions simply by sending a lot of bogus mail,
> attempting to find out what's a valid address and what isn't.  Probably
> not much of a concern, but if it is look into the verify and
> relay_recipient_maps features.
>
> You also asked about a few other things:
> >The mail sits in Que I guess waiting
> >to be relayed.  How often does postfix attempt to relay it?  Do I have
> >control over this?  Does it ever give up?  Where exactly does the email
> > sit?
>
> If the message passes the relay checks (which you've allowed above with
> relay_domains), then it is accepted into Postfix just like a regular
> message, and abides by all of the regular message-processing routines.
> The message then gets dropped into /var/spool/postfix/active and
> delivery is attempted (it actually makes a short stop through
> postfix/incoming before it's accepted for relaying).  If delivery
> succeeds, well, it's gone.  But if you're primary mail server isn't up
> for what ever reason, it gets dropped into the deferred queue.
> /var/spool/postfix/deferred contains the actual message itself, and
> /var/spool/postfix/defer contains the error message.  Under each of
> these directories is a set of subdirectories (active, defer, deffered,
> etc) labeled [0-9A-F], which corresponds to the first character of the
> message ID.  In a small mail system, you can do an ls -l defer*/*/* and
> see all of the messages that way.  On a larger mail system that
> segregation helps keep the directory sizes manageable, and doing a
> command like that can be a bit... output intensive.  :)  We often do a
> simple find command piped through wc -l, as quick way to find the number
> of messages in each of the queues.
>
> So does it ever give up?  :)  Yes, it does.  As controlled by
> maximal_queue_lifetime in main.cf.  You also already have found
> delay_warning_time, which will determine when the sender is notified
> that there was a delivery problem with the message.  You set it to 24h,
> which might be a bit high.  The default is 4h, and is fairly
> respectable.  Imagine that if someone sends you a message, they will
> presume you've gotten it, unless they are notified otherwise.  24 hours
> might be a bit long for them to be under that incorrect assumption, but
> that is entirely your choice.  One of the nice benefits of running your
> own mail system.  :)
>
> Hopefully that has answered all of your questions.  Before I close this
> out I'll throw out one thing - test it manually.  It's rather easy to
> generate a test message by hand, to a mail server.  Connect from
> somewhere other than local host, so you know relaying is working, and
> send it a message by hand.  All you need to do it telnet to port 25, and
>
> the session will go something like this:
> > Trying 24.167.140.251...
> > Connected to mail.hrivnak.org.
> > Escape character is '^]'.
> > 220 hrivnak.org ESMTP Postfix
> > ehlo joyner.ws
> > 250-hrivnak.org
> > 250-PIPELINING
> > 250-SIZE 10240000
> > 250-VRFY
> > 250-ETRN
> > 250-STARTTLS
> > 250 8BITMIME
> > mail from:<spamalicious at joyner.ws>
> > 250 Ok
> > rcpt to:<michael at hrivnak.org>
> > 450 <michael at hrivnak.org>: Recipient address rejected: User unknown in
> > local recipient table
> > mhrivnak at hrivnak.org
> > 502 Error: command not implemented
> > rcpt to:<mhrivnak at hrivnak.org>
> > 250 Ok
> > data
> > 354 End data with <CR><LF>.<CR><LF>
> > Subject: Test Message number 1
> >
> > Here it is!
> > Aaron S. Joyner
> >
> > .
> > 250 Ok: queued as 90CDE1ECA0A
> > quit
> > 221 Bye
> > Connection closed by foreign host.
>
> Everything that doesn't start with a number is a command I entered.
> Connect up to your secondary mail server, chat a message out to it, and
> see if it shows up in your inbox.  Then, once you're sure it works
> correctly, you can setup the DNS MX records to actually put it in "harms
> way" of mail, so to speak.  :)
>
> Best of luck with all of this,
> Aaron S. Joyner
>
> PS - Intrex does backup mail hosting for those interested in a
> commercially provided solution.  :)



More information about the TriLUG mailing list