[Csmail-patches] CVS: csmail/src/CSMail.Utils ChangeLog,1.24,1.25 MimeUtils.cs,1.5,1.6
Status: Pre-Alpha
Brought to you by:
mastergaurav
From: Gaurav V. <mas...@us...> - 2002-11-07 09:58:07
|
Update of /cvsroot/csmail/csmail/src/CSMail.Utils In directory usw-pr-cvs1:/tmp/cvs-serv18812 Modified Files: ChangeLog MimeUtils.cs Log Message: 2002-11-07 * MimeUtils.cs : UpdateHeaders(IMimePart) - Implemented. Index: ChangeLog =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail.Utils/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ChangeLog 31 Oct 2002 10:41:57 -0000 1.24 +++ ChangeLog 7 Nov 2002 09:58:04 -0000 1.25 @@ -1,4 +1,8 @@ +2002-11-07 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> + + * MimeUtils.cs : UpdateHeaders(IMimePart) - Implemented. + 2002-10-31 Gaurav Vaish <mastergaurav AT users DOT sf DOT net> * MimeUtils.cs : Get/Set-ContentLanguage - Implemented. Index: MimeUtils.cs =================================================================== RCS file: /cvsroot/csmail/csmail/src/CSMail.Utils/MimeUtils.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- MimeUtils.cs 31 Oct 2002 10:41:58 -0000 1.5 +++ MimeUtils.cs 7 Nov 2002 09:58:04 -0000 1.6 @@ -223,5 +223,55 @@ } return TransferEncoding.Default; } + + public static string GetDefaultCharset() + { + Properties props = Properties.GetDefaultProperties(); + string retVal = String.Empty; + if(props["mail.mime.charset"] != null) + retVal = (string)props["mail.mime.charset"]; + else + throw new NotImplementedException("[GetDefaultCharset]" + + " Don't know how to get from the VM"); + return retVal; + } + + public static void UpdateHeaders(IMimePart mimePart) + { + ContentType ct = mimePart.ContentType; + bool isMatched = false; + if(ct == "multipart/*") + { + ((MimeMultipart)mimePart.Content).UpdateHeaders(); + isMatched = true; + } else if(ct == "message/rfc822") + { + isMatched = true; + } + if(!isMatched && ct == (ContentType)null) + { + ct = new ContentType("text/plain"); + string charSet = ""; + if(mimePart.TransferEncoding == TransferEncoding.Bit7) + { + charSet = "us-ascii"; + } else + { + // To get default MIME Charset + throw new NotImplementedException(); + } + ct.Parameters["charset"] = charSet; + } + if(ct == (ContentType)null) + { + ContentDisposition cd = mimePart.Disposition; + ct = new ContentType("text/plain"); + if(cd != null && cd.Filename != null && cd.Filename.Length > 0) + { + ct.Parameters["filename"] = cd.Filename; + } + } + mimePart.ContentType = ct; + } } } |