diff options
Diffstat (limited to 'camel/camel-mime-message.c')
-rw-r--r-- | camel/camel-mime-message.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/camel/camel-mime-message.c b/camel/camel-mime-message.c index 690f655ca3..fd199f600d 100644 --- a/camel/camel-mime-message.c +++ b/camel/camel-mime-message.c @@ -239,6 +239,9 @@ camel_mime_message_get_sent_date (CamelMimeMessage *message) void camel_mime_message_set_reply_to (CamelMimeMessage *mime_message, const gchar *reply_to) { + CamelInternetAddress *cia; + char *addr; + g_assert (mime_message); /* FIXME: check format of string, handle it nicer ... */ @@ -246,8 +249,13 @@ camel_mime_message_set_reply_to (CamelMimeMessage *mime_message, const gchar *re g_free (mime_message->reply_to); mime_message->reply_to = g_strstrip (g_strdup (reply_to)); - CAMEL_MEDIUM_CLASS (parent_class)->set_header (CAMEL_MEDIUM (mime_message), "Reply-To", - mime_message->reply_to); + cia = camel_internet_address_new (); + camel_address_decode (CAMEL_ADDRESS (cia), mime_message->reply_to); + addr = camel_address_encode (CAMEL_ADDRESS (cia)); + + CAMEL_MEDIUM_CLASS (parent_class)->set_header (CAMEL_MEDIUM (mime_message), "Reply-To", addr); + camel_object_unref (CAMEL_OBJECT (cia)); + g_free (addr); } const gchar * @@ -285,6 +293,9 @@ camel_mime_message_get_subject (CamelMimeMessage *mime_message) void camel_mime_message_set_from (CamelMimeMessage *mime_message, const gchar *from) { + CamelInternetAddress *cia; + char *addr; + g_assert (mime_message); /* FIXME: check format of string, handle it nicer ... */ @@ -292,8 +303,13 @@ camel_mime_message_set_from (CamelMimeMessage *mime_message, const gchar *from) g_free (mime_message->from); mime_message->from = g_strstrip (g_strdup (from)); - CAMEL_MEDIUM_CLASS (parent_class)->set_header (CAMEL_MEDIUM (mime_message), "From", - mime_message->from); + cia = camel_internet_address_new (); + camel_address_decode (CAMEL_ADDRESS (cia), mime_message->from); + + addr = camel_address_encode (CAMEL_ADDRESS (cia)); + CAMEL_MEDIUM_CLASS (parent_class)->set_header (CAMEL_MEDIUM (mime_message), "From", addr); + camel_object_unref (CAMEL_OBJECT (cia)); + g_free (addr); } const gchar * |