added additionnal matching criteria
[claws.git] / src / procheader.c
index 2363c03597e3fe475ed0b0e3f9c1a51a2f5f521e..49a03b57b90fbac6a7e9b422be6b6fc3d4130126 100644 (file)
@@ -428,7 +428,8 @@ enum
        H_CONTENT_TYPE  = 9,
        H_SEEN          = 10,
        H_X_FACE        = 11,
-       H_DISPOSITION_NOTIFICATION_TO = 12
+       H_DISPOSITION_NOTIFICATION_TO = 12,
+       H_RETURN_RECEIPT_TO = 13
 };
 
 MsgInfo *procheader_parse(const gchar *file, MsgFlags flags, gboolean full)
@@ -445,7 +446,8 @@ MsgInfo *procheader_parse(const gchar *file, MsgFlags flags, gboolean full)
                                           {"Content-Type:",    NULL, FALSE},
                                           {"Seen:",            NULL, FALSE},
                                           {"X-Face:",          NULL, FALSE},
-                                          {"Disposition-Notification-To:",NULL, FALSE},
+                                          {"Disposition-Notification-To:", NULL, FALSE},
+                                          {"Return-Receipt-To:", NULL, FALSE},
                                           {NULL,               NULL, FALSE}};
 
        static HeaderEntry hentry_short[] = {{"Date:",          NULL, FALSE},
@@ -546,6 +548,7 @@ MsgInfo *procheader_parse(const gchar *file, MsgFlags flags, gboolean full)
                        break;
                case H_REFERENCES:
                        if (!reference) {
+                               msginfo->references = g_strdup(hp);
                                eliminate_parenthesis(hp, '(', ')');
                                if ((p = strrchr(hp, '<')) != NULL &&
                                    strchr(p + 1, '>') != NULL) {
@@ -581,6 +584,10 @@ MsgInfo *procheader_parse(const gchar *file, MsgFlags flags, gboolean full)
                        if (msginfo->dispositionnotificationto) break;
                        msginfo->dispositionnotificationto = g_strdup(hp);
                        break;
+               case H_RETURN_RECEIPT_TO:
+                       if (msginfo->returnreceiptto) break;
+                       msginfo->returnreceiptto = g_strdup(hp);
+                       break;
                default:
                }
        }