其他分享
首页 > 其他分享> > D365: 邮件附件中文名乱码问题

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

作者:互联网

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

增加c# class library

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Mail;
using System.Net.Mime;

namespace VyaHandleEmailAttachments
{
    public class VyaHandleAttachment
    {
        public static void handleAttachment(AttachmentCollection _collection)
        {
            foreach (Attachment attachment in _collection)
            {
                ContentDisposition disposition = attachment.ContentDisposition;
                disposition.FileName = attachment.Name;
            }
        }
    }
}

 D365中,扩展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;
        ;
        SysMailerMessageBuilder builder = next addAttachment(_stream, _name, _contentType);
        mailMessage          = builder.getMessage();
        attachmentCollection = mailMessage.Attachments;
        
        VyaHandleEmailAttachments.VyaHandleAttachment::handleAttachment(attachmentCollection);
        
        return builder;
    }

}

  

 

标签:D365,邮件附件,SysMailerMessageBuilder,addAttachment,System,乱码,Mail,using,Net
来源: https://www.cnblogs.com/dingkui/p/16602128.html