整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

C#使用 System.Net.Mail发送邮件功能

System.Net.Mail命名空间是在.NET Framework中新增的,该命名空间提供了发送电子邮件的功能。通过对本章的学习,读者可以轻松地使用.NET Framework提供的类库来发送电子邮件。System.Net.Mail 命名空间包含用于将电子邮件发送到SMTP服务器的类,这些类需要结合Microsoft SMTP Server一起使用。

System.Net.Mail 命名空间下有SmtpClient类用于发送邮件,可以完全代替SmtpMail类。利用SmtpClient类的Send方法可以完成发送电子邮件的传 输,也可以用SendAsync方法进行异步发送,后者发送完成后会产生一个SendCompleted 事件来通知发送结果。Send方法可以接受MailMessage类的对象作为参数。通过MailMessage类可以设置邮件更多的内容和格式,例如,为 Attachment类设置添加附件的参数。

SmtpClient 类与SMTP结合在一起,通过MailMessage类、MailAddress类、Attachment类来丰富电子邮件的内容和设置。图18-2展示 了用户通过System.Net.Mail命名空间下的类结合SMTP发送电子邮件的过程。

SmtpClient类的语法定义如下:

public class SmtpClient

下面的代码演示如何创 建一个SmtpClient的实例。

SmtpClient client = new SmtpClient (“smtp.Sina.com”); //直接通过构造函数设置SMTP 主机服务器

或:

SmtpClient client = new SmtpClient ();

Client. Host =” smtp.Sina.com”; //通过Host属性来设置SMTP 主机服务器

完整代码

 /// <summary>
/// 邮件处理器
/// </summary>
public class MailHandler
{
private MailMessage _mailMessage;
private string _host;
private string _userName;
private string _password;

public MailHandler()
{
}

接上代码:

            //回执地址
            var Receipt = "填写你需要回执的地址";

            //实例化两个必要的
            MailMessage mail = new MailMessage();
            SmtpClient smtp = new SmtpClient();

            //发送邮箱地址
            mail.From = new MailAddress("发送邮箱地址");

            //收件人(可以群发)
            mail.To.Add(new MailAddress("1402173344@qq.com"));

            //是否以HTML格式发送
            mail.IsBodyHtml = true;
            //主题的编码格式
            mail.SubjectEncoding = Encoding.UTF8;
            //邮件的标题
            mail.Subject = "测试一下发件的标题";
            //内容的编码格式
            mail.BodyEncoding = Encoding.UTF8;
            //邮件的优先级
            mail.Priority = MailPriority.Normal;
            //发送内容,带一个图片标签,用于对方打开之后,回发你填写的地址信息
            mail.Body = @"获取打开邮件的用户IP,图片由服务器自动生成:<img src='" + Receipt + "'>";
            //收件人可以在邮件里面
            mail.Headers.Add("Disposition-Notification-To", "回执信息");

            //发件邮箱的服务器地址
            smtp.Host = "smtp.163.com";
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtp.Timeout = 1000000;
            //是否为SSL加密
            smtp.EnableSsl = true;
            //设置端口,如果不设置的话,默认端口为25
            smtp.Port = 25;
            smtp.UseDefaultCredentials = false;
            //验证发件人的凭据
            smtp.Credentials = new System.Net.NetworkCredential("邮箱账号", "邮箱凭据");

            try
            {
                //发送邮件
                smtp.Send(mail);
                Console.WriteLine("发送成功");
            }
            catch (Exception e)
            {
                Console.WriteLine("发送失败:" + e.Message);
            }



作为一个实习生,入职的第一家公司碰到的一点小挫折,找了好久都没有找到方法,就询问了公司前辈,以及带我的大佬

当然,大佬们的帮助给了我很大的启发,就想着先写下来,省的以后用得着的时候给忘记了

也可以算是记录一下自己刚入职时候学习的步伐,

总之,这是一个小技巧,大佬看过之后,请多多指点。

  • mtpClient
  • OpenPop
  • ImapClient

smtpClient:允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件。

OpenPop:通过Pop功能收取邮件

ImapClient:通过Imap收取邮件信息