--- /dev/null
+2003-09-25 Jeffrey Stedfast <fejj@ximian.com>
+
+ * providers/smtp/camel-smtp-transport.c (smtp_helo): If the
+ localhost lookup results in a numeric IPv6 host, use the form
+ "[IPv6:<addr>]" as specified in rfc2821. Fixes bug #46006.
+
+Index: providers/smtp/camel-smtp-transport.c
+===================================================================
+RCS file: /cvs/gnome/evolution/camel/providers/smtp/camel-smtp-transport.c,v
+retrieving revision 1.138
+diff -u -r1.138 camel-smtp-transport.c
+--- camel/providers/smtp/camel-smtp-transport.c 16 May 2003 18:47:59 -0000 1.138
++++ camel/providers/smtp/camel-smtp-transport.c 25 Sep 2003 14:44:07 -0000
+@@ -896,8 +896,10 @@
+ } else {
+ #ifdef ENABLE_IPv6
+ char ip[MAXHOSTNAMELEN + 1];
++ const char *proto;
+
+- name = g_strdup_printf ("[%s]", inet_ntop (af, transport->localaddr->address, ip, MAXHOSTNAMELEN));
++ proto = transport->localaddr->family == CAMEL_TCP_ADDRESS_IPv6 ? "IPv6:" : "";
++ name = g_strdup_printf ("[%s%s]", proto, inet_ntop (af, transport->localaddr->address, ip, MAXHOSTNAMELEN));
+ #else
+ /* We *could* use inet_ntoa() here, but it's probably
+ not worth it since we would have to worry about