zoukankan      html  css  js  c++  java
  • C#发送邮件(内容中有图片)

    用微软的System.Net.Mail发送邮件,有些时候发邮件需要邮件内容中添加图片。

    对象解释

    SmtpClient类:允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件。
    MailAddress类:MailAddress类表示电子邮件的地址。该类结合SmtpClient类或MailMessage类使用,其实例存储了电子邮件的地址信息。  
    MailMessage 类:MailMessage类的实例表示一个电子邮件的所有内容,并用SmtpClient类来传输到SMTP服务器。若要指定电子邮件的发件人、收件人和内容,可以使用 MailMessage类的关联属性。
    NetworkCredential类:为基于密码的身份验证方案(如基本、简要、NTLM 和 Kerberos 身份验证)提供凭据。

    简单邮件例子

    MailMessage mail = new MailMessage();
    //设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致
    MailAddress fromAddr = new MailAddress("163XX@163.com", "系统邮件");
    mail.From = fromAddr;
    
    //设置收件人,可添加多个,添加方法与下面的一样
    mail.To.Add("to@163.com");
    
    //设置邮件标题
    mail.Subject = "主题";
    
    //设置邮件内容
    mail.Body = "内容";
    
    //设置邮件发送服务器,服务器根据你使用的邮箱而不同,可以到相应的 邮箱管理后台查看,下面是163的;
    //设置发送人的邮箱账号和密码,POP3/SMTP服务要开启, 密码要是POP3/SMTP等服务的授权码
    var smtp = new SmtpClient("smtp.163.com");
    smtp.UseDefaultCredentials = true;
    smtp.Credentials = new NetworkCredential("163XX@163.com", "password");
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.EnableSsl = true;
    
    smtp.Send(mail);
    smtp.Dispose();

    #C#发送邮件时在正文中插入图片(邮件中直接包含图片)

    MailMessage mail = new MailMessage();
    //设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致
    MailAddress fromAddr = new MailAddress("163XX@163.com", "系统邮件");
    mail.From = fromAddr;
    
    //设置收件人,可添加多个,添加方法与下面的一样
    mail.To.Add("to@163.com");
    
    //设置邮件标题
    mail.Subject = "主题";
    
    //设置邮件内容
    mail.Body = "内容";
    Attachment attachment = new System.Net.Mail.Attachment("D:\test.png");
    mail.Attachments.Add(attachment);
    mail.Body += "<img src="cid:" + attachment.ContentId + ""/>"; //这个写上附件就会变成文章中的图片
    mail.Body += "内容";
    mail.IsBodyHtml = true; //设置邮件发送服务器,服务器根据你使用的邮箱而不同,可以到相应的 邮箱管理后台查看,下面是163的; //设置发送人的邮箱账号和密码,POP3/SMTP服务要开启, 密码要是POP3/SMTP等服务的授权码 

    var smtp = new SmtpClient("smtp.163.com");
    smtp.UseDefaultCredentials
    = true;
    smtp.Credentials
    = new NetworkCredential("163XX@163.com", "password");
    smtp.DeliveryMethod
    = SmtpDeliveryMethod.Network;
    smtp.EnableSsl
    = true; smtp.Send(mail);
    smtp.Dispose();

     其他的发送邮件文章 C#发送邮件封装

    System.Net.Mail源码地址

    https://github.com/dotnet/corefx/tree/master/src/System.Net.Mail

  • 相关阅读:
    在struct 中使用string,赋值会报错
    添加telnet命令
    can't set blob value on that column
    Floating-point exception
    2014.01.13 今天目标,完结战斗系统中的已知各种细节
    hanframe开微博了
    Educational Codeforces Round 78 (Rated for Div. 2)D(并查集+SET)
    Codeforces Round #604 (Div. 2)D(构造)
    Codeforces Round #608 (Div. 2)D(贪心)
    【PAT甲级】1108 Finding Average (20分)
  • 原文地址:https://www.cnblogs.com/zhao123/p/10955319.html
Copyright © 2011-2022 走看看