zoukankan      html  css  js  c++  java
  • MailKit 发送邮件的学习记录

    前提:

    开通smtp服务,如果是126或163邮件步骤如下:

    1、打开 “POP3/SMTP/IMAP” 菜单,如下图:

     2、点击开启,如下图:

     3、点继续开启,如下图:

     4、通过手机发送短信

     5、点击下图中的“我已发送”

     6、开通成功,得到设备码(备注:此设备码就做为MailKit里的密码)。

    代码:

    首先使用nuget引用MailKit,然后测试代码如下:

    string mailAccount = "abc@126.com";
                string mainPassword = "ABVCDEFGDSDF";
                var client = new MailKit.Net.Smtp.SmtpClient();
                client.Connect("smtp.126.com", 25, SecureSocketOptions.None);
                client.AuthenticationMechanisms.Remove("XOAUTH2");
                client.Authenticate(mailAccount, mainPassword);
    
                var message = new MimeMessage();
                message.From.Add(new MailboxAddress("testNameFrom", "abc@126.com"));
                message.To.Add(new MailboxAddress("testNameTo", "abcd@163.com"));
                message.Subject = "测试发送邮件的标题";
    
                var html = new TextPart("html")
                {
                    Text = @"<p>您好,张三:<br>
                            <p>附件里是详细内容,请查收!<br>
                            <p>-- 管家王小明<br>"
                };
    
                var alternative = new Multipart("alternative");
                alternative.Add(html);
    
                string pngPath = @"C:UserswjxDesktoplogo.png";
                var attachmentPng = new MimePart("image", "png")
                {
                    Content = new MimeContent(File.OpenRead(pngPath), ContentEncoding.Default),
                    ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
                    ContentTransferEncoding = ContentEncoding.Base64,
                    FileName = Path.GetFileName(pngPath)
                };
    
                string zipPath = @"C:UserswjxDesktop中国百度的logo.zip";
                var attachmentZip = new MimePart("application", "zip")
                {
                    Content = new MimeContent(File.OpenRead(zipPath), ContentEncoding.Default),
                    ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
                    ContentTransferEncoding = ContentEncoding.Base64,
                    FileName = Path.GetFileName(zipPath)
                };
    
                var multipart = new Multipart("mixed");
                multipart.Add(alternative);
    
                multipart.Add(attachmentPng);
                multipart.Add(attachmentZip);
    
                message.Body = multipart;
    
                client.Send(message);
                client.Disconnect(true);
  • 相关阅读:
    什么是看板方法?
    瓶颈法则
    累积流图——你还没有用过吗?
    为什么我们关注看板方法?
    蒟蒻报道
    博客更换通知
    浅谈树套树(线段树套平衡树)&学习笔记
    浅谈FFT(快速博立叶变换)&学习笔记
    题解 洛谷P1903/BZOJ2120【[国家集训队]数颜色 / 维护队列】
    题解 洛谷P4550/BZOJ1426 【收集邮票】
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/14361259.html
Copyright © 2011-2022 走看看