diff options
author | James Moger <james.moger@gmail.com> | 2016-10-28 16:05:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-28 16:05:46 -0400 |
commit | 35f149120cc1ab874f7fa8c1a299006a90759da9 (patch) | |
tree | fe8da635a26082a18590bb3c14906bcbc557eb94 /src | |
parent | d64dd5de6cf6385d77dcd6014f1ce48369cf9ade (diff) | |
parent | 4218f97ed40240c28d57ae8cb4f9e521d8a65ad3 (diff) | |
download | gitblit-35f149120cc1ab874f7fa8c1a299006a90759da9.tar.gz gitblit-35f149120cc1ab874f7fa8c1a299006a90759da9.zip |
Merge pull request #1144 from fzs/logSendFailedException
Improve logging when sending email fails.
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/gitblit/service/MailService.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/com/gitblit/service/MailService.java b/src/main/java/com/gitblit/service/MailService.java index ec3a84ca..58acc9c0 100644 --- a/src/main/java/com/gitblit/service/MailService.java +++ b/src/main/java/com/gitblit/service/MailService.java @@ -17,6 +17,7 @@ package com.gitblit.service; import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Properties;
@@ -31,6 +32,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.InternetAddress;
@@ -272,9 +274,22 @@ public class MailService implements Runnable { while ((message = queue.poll()) != null) {
try {
if (settings.getBoolean(Keys.mail.debug, false)) {
- logger.info("send: " + StringUtils.trimString(message.getSubject(), 60));
+ logger.info("send: '" + StringUtils.trimString(message.getSubject(), 60)
+ + "' to:" + StringUtils.trimString(Arrays.toString(message.getAllRecipients()), 300));
}
Transport.send(message);
+ } catch (SendFailedException sfe) {
+ if (settings.getBoolean(Keys.mail.debug, false)) {
+ logger.error("Failed to send message: {}", sfe.getMessage());
+ logger.info(" Invalid addresses: {}", Arrays.toString(sfe.getInvalidAddresses()));
+ logger.info(" Valid sent addresses: {}", Arrays.toString(sfe.getValidSentAddresses()));
+ logger.info(" Valid unset addresses: {}", Arrays.toString(sfe.getValidUnsentAddresses()));
+ logger.info("", sfe);
+ }
+ else {
+ logger.error("Failed to send message: {}", sfe.getMessage(), sfe.getNextException());
+ }
+ failures.add(message);
} catch (Throwable e) {
logger.error("Failed to send message", e);
failures.add(message);
|