diff --git a/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java b/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java
index 8eeb8b2f3599892b3e4b7521eb22a88b2afa245f..bc26fa9fa161893f59a100412a389bc5e41254bc 100644
--- a/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java
+++ b/common/source/java/ch/systemsx/cisd/common/mail/MailClient.java
@@ -26,6 +26,7 @@ import javax.mail.Authenticator;
 import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.PasswordAuthentication;
+import javax.mail.SendFailedException;
 import javax.mail.Session;
 import javax.mail.Transport;
 import javax.mail.internet.AddressException;
@@ -187,8 +188,29 @@ public final class MailClient extends Authenticator implements IMailClient
             send(msg);
         } catch (MessagingException ex)
         {
-            throw new EnvironmentFailureException("Sending e-mail with subject '" + subject
-                    + "' to recipients " + Arrays.asList(recipients) + " failed. Reason: " + ex, ex);
+            final StringBuilder b = new StringBuilder();
+            b.append("Sending e-mail with subject '");
+            b.append(subject);
+            b.append("' to recipients ");
+            b.append(Arrays.asList(recipients));
+            b.append(" failed.");
+            if (ex instanceof SendFailedException)
+            {
+                final Address[] invalidAddressesOrNull =
+                        ((SendFailedException) ex).getInvalidAddresses();
+                if (invalidAddressesOrNull != null && invalidAddressesOrNull.length > 0)
+                {
+                    b.append(" These email addresses are invalid:\n");
+                    for (Address address : invalidAddressesOrNull)
+                    {
+                        b.append(address.toString());
+                        b.append('\n');
+                    }
+                }
+            }
+            b.append("\nDetailed failure description:\n");
+            b.append(ex.toString());
+            throw new EnvironmentFailureException(b.toString(), ex);
         }
     }