zoukankan      html  css  js  c++  java
  • 使用MailKit发送邮件

    // MimeMessage可以堪称MailKit里的一个邮件对象
    var sendMessage = new MimeMessage();
    
    sendMessage.Subject = "主题";
    
    // 可以是一个发件人
    sendMessage.Sender=new MailboxAddress("发件人","发件人邮箱");
    // 也可以添加多个发件人,二选其一
    sendMessage.From.Add(new MailboxAddress("发件人", "发件人邮箱"));
    
    // 添加收件人信息
    messageToSend.To.Add(new MailboxAddress("收件人邮箱"));
    // 添加抄送(CC)人信息
    messageToSend.Cc.Add(new MailboxAddress("抄送人邮箱"));
    
    // 邮件正文两种形式
    
    // 1. 不带附件
    // html
    messageToSend.Body = new TextPart(TextFormat.Html) { Text = bodyText };
    // 或者纯文本
    messageToSend.Body = new TextPart(TextFormat.Plain) { Text = bodyText };
    
    // 2. 带附件
    var builder=new BodyBuilder();
    builder.TextBody = "邮件正文文字描述";
    // 添加附件,需带完整路径或者相对路径
    builder.Attachments.Add("test.xlsx");
    sendMessage.Body = builder.ToMessageBody();
    
    using (var smtp = new MailKit.Net.Smtp.SmtpClient())
    {
        // 1. 注册邮件发送成功之后的事件,比如记录log
        // MessageSent事件里可以通过args参数,获得服务器的响应信息,以便于记录Log。
        smtp.MessageSent += (sender, args) =>
        {
            // args.Response
        };
        smtp.ServerCertificateValidationCallback = (s, c, h, e) => true;
        // 2. 连接服务器
        // 此处以outlook邮箱为例
        // await smtp.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls);
        await smtp.ConnectAsync("邮箱服务器", 端口号, 安全类型);
        // 3. 验证账号
        await smtp.AuthenticateAsync("账号", "密码");
        // 4. 发送邮件
        await smtp.SendAsync(sendMessage);
        // 5. 释放链接
        await smtp.DisconnectAsync(true);
    }
    
    
  • 相关阅读:
    acwing793. 高精度乘法
    acwing788. 逆序对的数量
    acwing791. 高精度加法
    acwing787. 归并排序
    acwing789. 数的范围
    acwing790. 数的三次方根
    acwing786. 第k个数
    acwing792. 高精度减法
    1.9
    课程总结
  • 原文地址:https://www.cnblogs.com/cndota2/p/14149396.html
Copyright © 2011-2022 走看看