This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Well, it depends what you want to do when an exception occurs. If in thread 2 you want to notify a user interface of e-mails that didn't get sent, and the user interface is part of thread 1's context, then you should simply pass the user interface to thread 2 when you start it, and let thread 2 deal with the user interface itself.
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.