diff --git a/em-format/e-mail-formatter-text-plain.c b/em-format/e-mail-formatter-text-plain.c
index dd864e2..e2e669d 100644
--- a/em-format/e-mail-formatter-text-plain.c
+++ b/em-format/e-mail-formatter-text-plain.c
@@ -31,7 +31,10 @@
 #include <glib/gi18n-lib.h>
 #include <camel/camel.h>
 
-static const gchar *formatter_mime_types[] = { "text/plain", "text/*", NULL };
+static const gchar *formatter_mime_types[] = { "text/plain",
+					       "text/*",
+					       "message/*",
+					       NULL };
 
 typedef struct _EMailFormatterTextPlain {
 	GObject parent;
diff --git a/em-format/e-mail-parser-message-deliverystatus.c b/em-format/e-mail-parser-message-deliverystatus.c
index 22f5d88..b4aeaf3 100644
--- a/em-format/e-mail-parser-message-deliverystatus.c
+++ b/em-format/e-mail-parser-message-deliverystatus.c
@@ -56,6 +56,8 @@ G_DEFINE_TYPE_EXTENDED (
 		e_mail_parser_parser_extension_interface_init));
 
 static const gchar* parser_mime_types[] = { "message/delivery-status",
+					    "message/feedback-report",
+					    "message/disposition-notification",
 					    NULL };
 
 static GSList *
diff --git a/em-format/e-mail-parser-message-rfc822.c b/em-format/e-mail-parser-message-rfc822.c
index f437ebd..c80dfd2 100644
--- a/em-format/e-mail-parser-message-rfc822.c
+++ b/em-format/e-mail-parser-message-rfc822.c
@@ -60,7 +60,6 @@ G_DEFINE_TYPE_EXTENDED (
 
 static const gchar* parser_mime_types[] = { "message/rfc822",
 					    "message/news",
-					    "message/*",
 					    NULL };
 
 static GSList *
diff --git a/em-format/e-mail-parser.c b/em-format/e-mail-parser.c
index d173503..d6ea080 100644
--- a/em-format/e-mail-parser.c
+++ b/em-format/e-mail-parser.c
@@ -599,7 +599,7 @@ e_mail_parser_wrap_as_attachment (EMailParser *parser,
 				reg, mime_type);
 
 		if (camel_content_type_is (ct, "text", "*") ||
-		    camel_content_type_is (ct, "message", "rfc822"))
+		    camel_content_type_is (ct, "message", "*"))
 			snoop_mime_type = mime_type;
 		else
 			g_free (mime_type);
