Creating a callback for ActionMailer

Hello,
in my application I use Actionmailer with Google Apps over TLS to send
email from a forgotten password form. Unfortunately, sometimes it fails
to deliver the mail. In this event, I have a simple rescue block, but it
takes a while to timeout, meaning it will take 30+ seconds to catch the
error. Unfortunately, I can’t have the same SMTP timeout for each part
of the application. Is there any way for me to create a callback that
errors out after 15 seconds by running two threads simultaneously
possibly?
Thanks,
Ben