asp.net-core - 如何在asp.net core web API中使用MimeMessage发送带有附件的电子邮件?

标签 asp.net-core asp.net-core-webapi

我尝试过仅使用简单的文本,但我想发送带有附件的电子邮件。

    var emailMessage = new MimeMessage();
    emailMessage.From.Add(new MailboxAddress("Test","test@gmail.com"));
    emailMessage.To.Add(new MailboxAddress("Demo", "demo@gmail.com"));
    emailMessage.Subject = "Hello";
    emailMessage.Body = new TextPart("html") { Text = "Hi............" };

//我想在此处添加带有正文的附件..

    //Send Email.
    using (var client = new SmtpClient())
    {
            await client.ConnectAsync("smtp.gmail.com", 587, false);
            client.AuthenticationMechanisms.Remove("XOAUTH2");
            await client.AuthenticateAsync("uid", "pass");
            await client.SendAsync(emailMessage);
            await client.DisconnectAsync(true);
    }

最佳答案

    var multipart = new Multipart("mixed");
    multipart.Add(new TextPart("html") { Text = "your body message"});

    // create an image attachment for the file located at path
    var attachment = new MimePart ("image", "gif") {
       ContentObject = new ContentObject (File.OpenRead (path), ContentEncoding.Default),
       ContentDisposition = new ContentDisposition (ContentDisposition.Attachment),
       ContentTransferEncoding = ContentEncoding.Base64,
       FileName = Path.GetFileName (path)
    };

    multipart.Add(attachment);
    emailMessage.Body = multipart;

更多详情请访问here

关于asp.net-core - 如何在asp.net core web API中使用MimeMessage发送带有附件的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41392811/

相关文章:

.net - 如何在域相关的 .NET Core 中更改/创建自定义 FileProvider(即一个 Web 应用程序为多个站点呈现逻辑提供服务)

asp.net-core - 传入错误的枚举值时,如何在 ASP.NET Core 中获取自定义 ModelState 错误消息?

c# - 没有指定 authenticationScheme,也没有找到 DefaultChallengeScheme - ASP.NET core 2.1

c# - 带有 dotnet 核心的 Swagger 文档的文件返回类型

asp.net-core - 对预检请求的响应未通过访问控制检查 : It does not have HTTP ok status. GET 工作 POST PUT DELETE 不工作

c# - 在不跳过 OutputFormatter 的情况下捕获异常并使用自定义消息进行响应

c# - 尝试在 .NET Core 3.0 中植入角色时,获取任务被取消错误

.net - 应用程序洞察 : loggerFactory. AddApplicationInsights 在 .net core 2.2.0 中已弃用

asp.net-core - 在 Razor View 中注入(inject) Controller 与注入(inject)服务

nginx - Nginx 背后的 SignalR - 获得 200 响应而不是 websocket 升级