ASP.NETCore:发送CSV邮件附件
创始人
2024-09-18 18:00:41
0

在ASP.NET Core中发送CSV附件非常简单,下面是实现的步骤及示例代码:

  1. 安装MailKitMimeKit两个NuGet包。你可以使用以下命令将它们添加到你的项目中:
Install-Package MailKit
Install-Package MimeKit
  1. 在你的代码中引入命名空间MailKit.Net.SmtpMimeKit.Text

  2. 编写邮件正文和附件的代码。以下示例代码创建了一个包含CSV数据的附件,并将其添加到邮件中:

var message = new MimeMessage();
message.From.Add(mailFrom);
message.To.Add(mailTo);
message.Subject = "CSV Report";

// 创建附件
var attachment = new MimePart("text", "csv")
{
    Content = new MimeContent(ms),
    ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
    ContentTransferEncoding = ContentEncoding.Binary,
    FileName = "report.csv"
};

// 创建邮件正文
var bodyBuilder = new BodyBuilder();
bodyBuilder.TextBody = "请查看附件";

// 将附件添加到邮件中
bodyBuilder.Attachments.Add(attachment);

// 将邮件正文设置为HTML
message.Body = bodyBuilder.ToMessageBody();

这里的ms是包含CSV数据的MemoryStream对象。

  1. 使用SMTP协议将邮件发送出去。以下是示例代码:
using (var client = new SmtpClient())
{
    client.Connect(smtpServer, smtpPort, useSsl);
    client.Authenticate(username, password);
    client.Send(message);
    client.Disconnect(true);
}

完整代码示例:

using MailKit.Net.Smtp;
using MimeKit;
using MimeKit.Text;
using System.IO;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var mailFrom = new MailboxAddress("From User", "from@example.com");
            var mailTo = new MailboxAddress("To User", "to@example.com");

            var message = new MimeMessage();
            message.From.Add(mailFrom);
            message.To.Add(mailTo);
            message.Subject = "CSV Report";

            // 创建附件
            var ms = new MemoryStream();
            var writer = new StreamWriter(ms);
            writer.WriteLine("Name, Age, Gender");
            writer.WriteLine("Tom, 20, Male");
            writer.Flush();
            ms.Position = 0;
            var attachment = new MimePart("text", "csv")
            {
                Content = new MimeContent

相关内容

热门资讯

透视好牌!中至辅助器ios免费... 透视好牌!中至辅助器ios免费版(辅助挂)果真真的有挂(有挂攻略)-哔哩哔哩;免费中至辅助器ios免...
科普攻略!广东雀神智能插件安装... 科普攻略!广东雀神智能插件安装可使用(辅助挂)确实真的有挂(有挂头条)-哔哩哔哩 科技详细教程;75...
六分钟普及!wepoke德扑之... 六分钟普及!wepoke德扑之星(透视)软件透明挂((2021已更新))(哔哩哔哩)1、在wepok...
我来分享!wpk微扑克俱乐部!... 我来分享!wpk微扑克俱乐部!的确是真的有挂((2025已更新))(哔哩哔哩);最新版2024是一款...
1分钟了解!旺旺福建麻将小程序... 自定义旺旺福建麻将小程序麻将插件系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅...
透视有挂!全民雀神棋牌云南有挂... 1、透视有挂!全民雀神棋牌云南有挂(辅助挂)确实是真的有挂(有挂攻略)-哔哩哔哩(UU poker、...
十分钟了解!德扑软件高端(透视... 十分钟了解!德扑软件高端(透视)透视辅助((2025已更新))(哔哩哔哩)1、超多福利:超高返利,海...
7分钟了解!德扑之星数据解析!... 1、7分钟了解!德扑之星数据解析!果真是真的有挂((2020已更新))(哔哩哔哩);详细教程。2、德...
如何分辨真伪!亲友局德州怎么打... 如何分辨真伪!亲友局德州怎么打稳赢(辅助挂)其实真的有挂(有挂分析)-哔哩哔哩;支持2-10人实时对...
5分钟攻略!红龙扑克模拟器(透... 5分钟攻略!红龙扑克模拟器(透视)软件透明挂((2020已更新))(哔哩哔哩)是一款可以让一直输的玩...