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);
  • 相关阅读:
    ROXFiler 2.6
    ubuntu下lxr的运用
    NTFS3G-Linux 的 NTFS 驱动步骤
    Songbird 0.2.5 Final
    ePDFView:一个轻量的 PDF 文档阅读东西
    Gmail Notifier:又一个 Gmail 邮件通知法式
    Hybrid Share-文件分享软件
    Dolphin:KDE 中的文件管理器
    文泉驿点阵宋体 0.8(嬴政)正式公布
    KDE 4 Kludge 发布宣布
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/14361259.html
Copyright © 2011-2022 走看看