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;
+ }
}
}
|