D365: 邮件附件中文名乱码问题

在D365中,发送QQ,163,Foxmail邮箱如果附件名称中带中文名,收件箱的附件名称出现乱码解决方案

扩展Class: SysMailerMessageBuilder中的addAttachment方法

[ExtensionOf(classStr(SysMailerMessageBuilder))]
internal final class SysMailerMessageBuilderVya_Extension
{
    public SysMailerMessageBuilder addAttachment(System.IO.Stream _stream, str _name, str _contentType)
    {
        System.Net.Mail.MailMessage             mailMessage;
        System.Net.Mail.AttachmentCollection    attachmentCollection;
        System.Net.Mail.Attachment              attachment;
        System.Collections.IEnumerator          enumerator;
        ;
        SysMailerMessageBuilder builder = next addAttachment(_stream, _name, _contentType);
        mailMessage          = builder.getMessage();
        attachmentCollection = mailMessage.Attachments;

        enumerator           = attachmentCollection.GetEnumerator();

        while(enumerator.MoveNext())
        {
            attachment  = enumerator.get_Current();
            System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
            disposition.FileName = attachment.Name;
        }
        
        return builder;
    }

}
posted @ 2022-08-19 15:24  adingkui  阅读(162)  评论(0编辑  收藏  举报