Onestamente non ho proprio idea di come/dove hai usato invokeLater ..... il punto è che invokeLater fa eseguire "qualcosa" nel contesto del EDT ma in un momento successivo, appena possibile. Mentre tutto quel tuo ciclo di scritture e invio email andrebbe fatto non nel EDT.