2007-09-16 [colin] 3.0.0cvs16
[claws.git] / src / compose.c
index 1c55908b4ac8248619135e4b3f48ceb019f5bce3..f006de02ded189e7be72c0c690b93c0fdc28f81c 100644 (file)
@@ -4793,11 +4793,19 @@ static gint compose_redirect_write_headers(Compose *compose, FILE *fp)
        }
 
        /* Resent-Message-ID */
-       if (compose->account->gen_msgid) {
-               generate_msgid(buf, sizeof(buf));
-               fprintf(fp, "Resent-Message-ID: <%s>\n", buf);
-               compose->msgid = g_strdup(buf);
+       if (compose->account->set_domain && compose->account->domain) {
+               g_snprintf(buf, sizeof(buf), "%s", compose->account->domain); 
+       } else if (!strncmp(get_domain_name(), "localhost", strlen("localhost"))) {
+               g_snprintf(buf, sizeof(buf), "%s", 
+                       strchr(compose->account->address, '@') ?
+                               strchr(compose->account->address, '@')+1 :
+                               compose->account->address);
+       } else {
+               g_snprintf(buf, sizeof(buf), "%s", "");
        }
+       generate_msgid(buf, sizeof(buf));
+       fprintf(fp, "Resent-Message-ID: <%s>\n", buf);
+       compose->msgid = g_strdup(buf);
 
        compose_redirect_write_headers_from_headerlist(compose, fp);
 
@@ -5693,11 +5701,19 @@ static gchar *compose_get_header(Compose *compose)
        g_free(str);
 
        /* Message-ID */
-       if (compose->account->gen_msgid) {
-               generate_msgid(buf, sizeof(buf));
-               g_string_append_printf(header, "Message-ID: <%s>\n", buf);
-               compose->msgid = g_strdup(buf);
+       if (compose->account->set_domain && compose->account->domain) {
+               g_snprintf(buf, sizeof(buf), "%s", compose->account->domain); 
+       } else if (!strncmp(get_domain_name(), "localhost", strlen("localhost"))) {
+               g_snprintf(buf, sizeof(buf), "%s", 
+                       strchr(compose->account->address, '@') ?
+                               strchr(compose->account->address, '@')+1 :
+                               compose->account->address);
+       } else {
+               g_snprintf(buf, sizeof(buf), "%s", "");
        }
+       generate_msgid(buf, sizeof(buf));
+       g_string_append_printf(header, "Message-ID: <%s>\n", buf);
+       compose->msgid = g_strdup(buf);
 
        if (compose->remove_references == FALSE) {
                /* In-Reply-To */