diff -Npur evo_old/composer/e-msg-composer.c evo_new/composer/e-msg-composer.c
--- evo_old/composer/e-msg-composer.c	2007-08-03 14:31:44.000000000 +0800
+++ evo_new/composer/e-msg-composer.c	2007-08-03 17:53:56.000000000 +0800
@@ -385,8 +384,8 @@ best_encoding (GByteArray *buf, const ch
 	
 	if (status == (size_t) -1 || status > 0)
 		return -1;
-	
-	if (count == 0)
+/* dliang: if the length of the text is longer than LINE_LEN, use base64 or qb to limit it. */
+	if ((count == 0) && (buf->len < LINE_LEN) )
 		return CAMEL_TRANSFER_ENCODING_7BIT;
 	else if (count <= buf->len * 0.17)
 		return CAMEL_TRANSFER_ENCODING_QUOTEDPRINTABLE;
@@ -661,6 +658,8 @@ build_message (EMsgComposer *composer, g
 		part = camel_mime_part_new ();
 		camel_medium_set_content_object (CAMEL_MEDIUM (part), html);
 		camel_object_unref (html);
+		/* dliang :  add the qp encoding to limit the html length */
+		camel_mime_part_set_encoding (part, CAMEL_TRANSFER_ENCODING_QUOTEDPRINTABLE); 
 		camel_multipart_add_part (body, part);
 		camel_object_unref (part);
 		

