aspnetboilerplate - 发送带附件的电子邮件

aspnetboiletplate - send email with attachments

我有一个 aspnetboilerplate 模板,.netcore & angular(免费版)。我正在尝试找到一种使用 IEmailSender 将 word 文档附加到电子邮件的方法,但找不到正确的方法。已经检查了 Email Sending 但没有提示将文件附加到电子邮件。 谁有示例代码可以与我分享?

可以直接构造一个MailMessage传给IEmailSender.SendAsync(mailMessage)

https://github.com/aspnetboilerplate/aspnetboilerplate/blob/94ebd48fd959cd460d97b809317a959e45c94067/src/Abp/Net/Mail/EmailSenderBase.cs#L66

如果您使用的是 MailKit,底层实现会将 Mail 消息对象转换为 MimeMessage 并通过 Mailkit 发送

https://github.com/aspnetboilerplate/aspnetboilerplate/blob/94ebd48fd959cd460d97b809317a959e45c94067/src/Abp.MailKit/MailKitEmailSender.cs#L42-L50

MimeMessage 实现 https://github.com/jstedfast/MimeKit/blob/bcc7030b61c0c83a10eab7e7a5d689efd923038d/MimeKit/MimeMessage.cs#L3494

这是发送带附件的电子邮件的代码片段:

MailMessage mail = new MailMessage
            {
                Subject = "Subject",
                Body = "Message",
                IsBodyHtml = true,
                To = { "toaddress@gmail.com"},
                From = new MailAddress("fromaddress@gmail.com")
            };

            mail.Attachments.Add(new Attachment(_env.WebRootPath + "\pp.jpg"));
            _emailSender.SendAsync(mail);