aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-message.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-mime-message.c')
-rw-r--r--camel/camel-mime-message.c24
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 *