diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java
index 4fd96a63a6..0d84278b84 100644
--- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java
+++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java
@@ -1732,6 +1732,30 @@ public class ServiceSynchronize extends LifecycleService {
db.endTransaction();
}
} catch (MessagingException ex) {
+ if (ex instanceof SendFailedException) {
+ SendFailedException sfe = (SendFailedException) ex;
+
+ StringBuilder sb = new StringBuilder();
+
+ sb.append(sfe.getMessage());
+
+ sb.append(' ').append(getString(R.string.title_address_sent));
+ sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getValidSentAddresses(), true));
+
+ sb.append(' ').append(getString(R.string.title_address_unsent));
+ sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getValidUnsentAddresses(), true));
+
+ sb.append(' ').append(getString(R.string.title_address_invalid));
+ sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getInvalidAddresses(), true));
+
+ ex = new SendFailedException(
+ sb.toString(),
+ sfe.getNextException(),
+ sfe.getValidSentAddresses(),
+ sfe.getValidUnsentAddresses(),
+ sfe.getInvalidAddresses());
+ }
+
db.identity().setIdentityError(ident.id, Helper.formatThrowable(ex));
EntityLog.log(this, ident.name + " last attempt: " + new Date(message.last_attempt));
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 06c49b1d45..1823629b8a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -293,6 +293,9 @@
Unread
Starred
+ Sent:
+ Unsent:
+ Invalid:
Move to sent
Previous