首先说明我使用lumisoft来接收邮件附件的,当附件名字为中文时,这个插件能获取
ContentDisposition_FileName这个属性,所以我发邮件的时候必须指定FileName。
如果只指定a.name这个附件名称,收件的时候,只要是中文就出现乱码。我是这样给赋值的:
string filename = "钓鱼岛是中国的.doc";
System.Net.Mail.Attachment a = new System.Net.Mail.Attachment(filepathguid + filename);                    //a.ContentDisposition.FileName = filename ;                    a.ContentDisposition.FileName = HttpUtility.UrlDecode(filename,System.Text.Encoding.GetEncoding("GB2312")); 老是报"在邮件标头中找到无效的字符"。。哎。。请各位大侠帮忙,谢谢。

解决方案 »

  1.   

      MimeEntity attachentity = mainentity.ChildEntities.Add();
                    attachentity.ContentType = MediaType_enum.Application_octet_stream;
                    attachentity.ContentDisposition = ContentDisposition_enum.Attachment;
                    attachentity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;
                    attachentity.ContentDisposition_FileName = attfile.FileName;
                    attachentity.DataFromFile(attfile.ClientPath);
      

  2.   

    lumisoft 你试试我的这个代码,我们是做外贸邮件管理的,用这个没什么问题
      

  3.   

    本帖最后由 net_lover 于 2012-09-28 17:07:49 编辑