/// <summary> /// 设置邮件基础信息 /// </summary> /// <param name="minMessag"></param> /// <param name="mailBodyEntity"></param> /// <returns></returns> public static MimeMessage SetMailBaseMessage(MimeMessage minMessag, MailBodyEntity mailBodyEntity) { if (minMessag == null) { throw new ArgumentNullException(); } if (mailBodyEntity == null) { throw new ArgumentNullException(); } //插入发件人 minMessag.From.Add(new MailboxAddress(mailBodyEntity.Sender, mailBodyEntity.SenderAddress)); //插入收件人 if (mailBodyEntity.Recipients.Any()) { foreach (var recipients in mailBodyEntity.Recipients) { minMessag.To.Add(new MailboxAddress(recipients)); } } //插入抄送人 if (mailBodyEntity.Cc != null && mailBodyEntity.Cc.Any()) { foreach (var cC in mailBodyEntity.Cc) { minMessag.Cc.Add(new MailboxAddress(cC)); } } //插入密送人 if (mailBodyEntity.Bcc != null && mailBodyEntity.Bcc.Any()) { foreach (var bcc in mailBodyEntity.Bcc) { minMessag.Bcc.Add(new MailboxAddress(bcc)); } } //插入主题 minMessag.Subject = mailBodyEntity.Subject; return(minMessag); }
/// <summary> /// 组装邮件文本/附件邮件信息 /// </summary> /// <param name="mailBodyEntity">邮件消息实体</param> /// <returns></returns> public static MimeMessage AssemblyMailMessage(MailBodyEntity mailBodyEntity) { if (mailBodyEntity == null) { throw new ArgumentNullException(nameof(mailBodyEntity)); } var message = new MimeMessage(); //设置邮件基本信息 SetMailBaseMessage(message, mailBodyEntity); var multipart = new Multipart("mixed"); //插入文本消息 if (!string.IsNullOrEmpty(mailBodyEntity.Body)) { var alternative = new MultipartAlternative { AssemblyMailTextMessage(mailBodyEntity.Body, mailBodyEntity.MailBodyType) }; multipart.Add(alternative); } //插入附件 foreach (var mailFile in mailBodyEntity.MailFiles) { if (mailFile.MailFilePath != null && File.Exists(mailFile.MailFilePath)) { var mimePart = AssemblyMailAttachmentMessage(mailFile.MailFileType, mailFile.MailFileSubType, mailFile.MailFilePath); multipart.Add(mimePart); } } //组合邮件内容 message.Body = multipart; return(message); }