.net开发之邮件发送

2025-11-11 22:33:55

1、新建项目,命名为通过程序来发邮件,如下图所示:

.net开发之邮件发送

2、邮件发送需要引入两个头文件,如下图所示:

.net开发之邮件发送

3、演示一封纯文本邮件发送例子,如下图所示,代码如下。

 #region 发一封普通的邮件(纯文本)

            Console.WriteLine("开始发送邮件....");

            //1.MailMessage

            //1.创建一封邮件

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("gy@cheshi.net");

            msg.To.Add(new MailAddress("lb@cheshi.net"));

            msg.Subject = "去给我带份饭。";

            msg.SubjectEncoding = Encoding.GetEncoding("gb2312");

            msg.Body = "在中午12:00之前把饭送过来。";

            //2.SmtpClient

            SmtpClient smtp = new SmtpClient();

            smtp.Host = "localhost";

            smtp.Credentials = new NetworkCredential("sk", "123");

            smtp.Send(msg);

            Console.WriteLine("发送完毕!");

            Console.ReadKey();

            #endregion

.net开发之邮件发送

4、在邮件的发送过程中,经常会用到需要发送html格式的情况,下面演示这种情况:

 #region 发html格式邮件,第一种方式

            Console.WriteLine("开始发送邮件....");

            //1.MailMessage

            //1.创建一封邮件

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("gy@cheshi.net");

            msg.To.Add(new MailAddress("liubei@cheshi.net"));

            msg.Subject = "去给我带份饭。";

            msg.SubjectEncoding = Encoding.GetEncoding("gb2312");

            msg.Body = "在中午<font color=\"red\"><h1>12:00</h1></font>之前把饭送过来。";

            //设置文本正文是否是html格式的。

            msg.IsBodyHtml = true;

            //2.SmtpClient

            SmtpClient smtp = new SmtpClient();

            smtp.Host = "localhost";

            smtp.Credentials = new NetworkCredential("sk", "123");

            smtp.Send(msg);

            Console.WriteLine("发送完毕!");

            Console.ReadKey();

            #endregion

.net开发之邮件发送

5、下面演示html格式邮件发送的另一种方式:

 #region 发送html格式的邮件 ,第二种方式

            Console.WriteLine("开始发送邮件....");

            //1.MailMessage

            //1.创建一封邮件

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("sk@cheshi.net");

            msg.To.Add(new MailAddress("yzk@cheshi.net"));

            msg.Subject = "======去给我带份饭。=======";

            msg.SubjectEncoding = Encoding.GetEncoding("gb2312");

            msg.Body = "==================在中午12:00之前把饭送过来。================";

            //创建一个html格式的文档

            AlternateView aview = AlternateView.CreateAlternateViewFromString("在中午<h1><font color=\"red\">12:00</font></h1>之前把饭送过来。", Encoding.UTF8, "text/html");

            msg.AlternateViews.Add(aview);

            //2.SmtpClient

            SmtpClient smtp = new SmtpClient();

            smtp.Host = "localhost";

            smtp.Credentials = new NetworkCredential("sk", "123");

            smtp.Send(msg);

            Console.WriteLine("发送完毕!");

            Console.ReadKey();

            #endregion

.net开发之邮件发送

6、在邮件在插入图片发送,这个是非常常见的:

 #region 在邮件中带图片

            Console.WriteLine("开始发送邮件....");

            //1.MailMessage

            //1.创建一封邮件

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("sk@cheshi.net");

            msg.To.Add(new MailAddress("yzk@cheshi.net"));

            msg.Subject = "======去给我带份饭。=======";

            msg.SubjectEncoding = Encoding.GetEncoding("gb2312");

            msg.Body = "==================在中午12:00之前把饭送过来。================";

            //创建一个html格式的文档

            AlternateView aview = AlternateView.CreateAlternateViewFromString("在中午<h1><font color=\"red\">12:00</font></h1>之前把饭送过来。<br/><img src=\"cid:img001\"/>", Encoding.UTF8, "text/html");

            //为邮件中增加一张图片

            LinkedResource resource = new LinkedResource(@"c:\toYou.gif");

            resource.ContentId = "img001";

            aview.LinkedResources.Add(resource);

            msg.AlternateViews.Add(aview);

            //2.SmtpClient

            SmtpClient smtp = new SmtpClient();

            smtp.Host = "localhost";

            smtp.Credentials = new NetworkCredential("sk", "123");

            smtp.Send(msg);

            Console.WriteLine("发送完毕!");

            Console.ReadKey();

            #endregion

.net开发之邮件发送

7、最后引入一种,在邮件中加入附件发送:

            #region 在邮件中增加附件

            Console.WriteLine("开始发送邮件....");

            //1.MailMessage

            //1.创建一封邮件

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("sk@ceshi.net");

            msg.To.Add(new MailAddress("yzk@ceshi.net"));

            msg.Subject = "======去给我带份饭。=======";

            msg.SubjectEncoding = Encoding.GetEncoding("gb2312");

            msg.Body = "==================在中午12:00之前把饭送过来。================";

            //创建一个html格式的文档

            AlternateView aview = AlternateView.CreateAlternateViewFromString("在中午<h1><font color=\"red\">12:00</font></h1>之前把饭送过来。<br/><img src=\"cid:img001\"/>", Encoding.UTF8, "text/html");

            //为邮件中增加一张图片

            LinkedResource resource = new LinkedResource(@"c:\toYou.gif");

            resource.ContentId = "img001";

            aview.LinkedResources.Add(resource);

            msg.AlternateViews.Add(aview);

            //为邮件增加一些附件

            Attachment attchFile1 = new Attachment(@"c:\1.xls");

            Attachment attchFile2 = new Attachment(@"c:\a.gif");

            Attachment attchFile3 = new Attachment(@"c:\a.jpg");

            msg.Attachments.Add(attchFile1);

            msg.Attachments.Add(attchFile2);

            msg.Attachments.Add(attchFile3);

            //2.SmtpClient

            SmtpClient smtp = new SmtpClient();

            smtp.Host = "localhost";

            //smtp.qq.com

            smtp.Credentials = new NetworkCredential("sk", "123");

            smtp.Send(msg);

            Console.WriteLine("发送完毕!");

            Console.ReadKey();

            #endregion

.net开发之邮件发送

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢