Skip to content

Commit 35f1491

Browse files
authored
Merge pull request #1144 from fzs/logSendFailedException
Improve logging when sending email fails.
2 parents d64dd5d + 4218f97 commit 35f1491

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/main/java/com/gitblit/service/MailService.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import java.io.File;
1919
import java.util.ArrayList;
20+
import java.util.Arrays;
2021
import java.util.Date;
2122
import java.util.List;
2223
import java.util.Properties;
@@ -31,6 +32,7 @@
3132
import javax.mail.Message;
3233
import javax.mail.MessagingException;
3334
import javax.mail.PasswordAuthentication;
35+
import javax.mail.SendFailedException;
3436
import javax.mail.Session;
3537
import javax.mail.Transport;
3638
import javax.mail.internet.InternetAddress;
@@ -272,9 +274,22 @@ public void run() {
272274
while ((message = queue.poll()) != null) {
273275
try {
274276
if (settings.getBoolean(Keys.mail.debug, false)) {
275-
logger.info("send: " + StringUtils.trimString(message.getSubject(), 60));
277+
logger.info("send: '" + StringUtils.trimString(message.getSubject(), 60)
278+
+ "' to:" + StringUtils.trimString(Arrays.toString(message.getAllRecipients()), 300));
276279
}
277280
Transport.send(message);
281+
} catch (SendFailedException sfe) {
282+
if (settings.getBoolean(Keys.mail.debug, false)) {
283+
logger.error("Failed to send message: {}", sfe.getMessage());
284+
logger.info(" Invalid addresses: {}", Arrays.toString(sfe.getInvalidAddresses()));
285+
logger.info(" Valid sent addresses: {}", Arrays.toString(sfe.getValidSentAddresses()));
286+
logger.info(" Valid unset addresses: {}", Arrays.toString(sfe.getValidUnsentAddresses()));
287+
logger.info("", sfe);
288+
}
289+
else {
290+
logger.error("Failed to send message: {}", sfe.getMessage(), sfe.getNextException());
291+
}
292+
failures.add(message);
278293
} catch (Throwable e) {
279294
logger.error("Failed to send message", e);
280295
failures.add(message);

0 commit comments

Comments
 (0)