搭建一个邮件服务器
本实例需下载hMailServer与foxMail配合使用,达到接收邮件功能,下面用C#代码实现接收邮件功能。
注:安装包已经放到百度云盘上,若需要请自己下载,里面包含安装步骤与环境配置教程!
链接:https://pan.baidu.com/s/1au4mLB7Mu1DUPulLa4Uz7Q
提取码:uqcr
C#编写代码方式,实现邮件发送
主界面:
实现代码:
private void button1_Click(object sender, EventArgs e) { //引用命名空间:using System.Net.Mail; //1、创建一个邮件对象 MailMessage mailObject = new MailMessage(); //设置发件人 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //发件人地址 //设置收件人 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多个 //mailObject.CC 抄送的人 //设置邮件主题 //为了防止乱码,设置主题编码格式 mailObject.SubjectEncoding = Encoding.UTF8; mailObject.Subject = "吃了吗?"; //设置正文编码格式 mailObject.BodyEncoding = Encoding.UTF8; mailObject.Body = "吃了吗?吃的什么晚饭"; //2.创建一个发送邮件的对象 SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = "192.168.0.108"; //设置服务器ip地址 smtpClient.Port = 25; //端口号 //引入命名空间:using System.Net; smtpClient.Credentials = new NetworkCredential("sam","1234"); //发送 smtpClient.Send(mailObject); MessageBox.Show("ok"); }
接收成功!
写一封带HTML的邮件
方式一:
private void button2_Click(object sender, EventArgs e) { #region 方式一 //引用命名空间:using System.Net.Mail; //1、创建一个邮件对象 MailMessage mailObject = new MailMessage(); //设置发件人 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //发件人地址 //设置收件人 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多个 //mailObject.CC 抄送的人 //设置邮件主题 //为了防止乱码,设置主题编码格式 mailObject.SubjectEncoding = Encoding.UTF8; mailObject.Subject = "吃了吗?"; //设置正文编码格式 //------------------------------------- mailObject.BodyEncoding = Encoding.UTF8; mailObject.Body = "吃了吗?<font color=\'red\' size=\'7\'>吃的</font>什么晚饭呀"; mailObject.IsBodyHtml = true; //-------------------------------------- //2.创建一个发送邮件的对象 SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = "192.168.0.108"; //设置服务器ip地址 smtpClient.Port = 25; //端口号 //引入命名空间:using System.Net; smtpClient.Credentials = new NetworkCredential("sam", "1234"); //发送 smtpClient.Send(mailObject); MessageBox.Show("ok"); #endregion }
方式二:
1 private void button2_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空间:using System.Net.Mail; 5 //1、创建一个邮件对象 6 MailMessage mailObject = new MailMessage(); 7 //设置发件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //发件人地址 9 //设置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多个 11 //mailObject.CC 抄送的人 12 //设置邮件主题 13 //为了防止乱码,设置主题编码格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了吗?"; 16 //设置正文编码格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //创建一个html正文对象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了吗?<font color=\'red\' size=\'7\'>吃的</font>什么晚饭呀", null,"text/html"); 21 //把html正文对象加到邮件对象mailObject中 22 mailObject.AlternateViews.Add(htmlBody); 23 //-------------------------------------- 24 //2.创建一个发送邮件的对象 25 SmtpClient smtpClient = new SmtpClient(); 26 smtpClient.Host = "192.168.0.108"; //设置服务器ip地址 27 smtpClient.Port = 25; //端口号 28 //引入命名空间:using System.Net; 29 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 30 //发送 31 smtpClient.Send(mailObject); 32 MessageBox.Show("ok"); 33 #endregion 34 }
效果图:
发送带图片的邮件:
1 private void button3_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空间:using System.Net.Mail; 5 //1、创建一个邮件对象 6 MailMessage mailObject = new MailMessage(); 7 //设置发件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //发件人地址 9 //设置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多个 11 //mailObject.CC 抄送的人 12 //设置邮件主题 13 //为了防止乱码,设置主题编码格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了吗?"; 16 //设置正文编码格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //创建一个html正文对象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了吗?<font color=\'red\' size=\'7\'>吃的</font>什么晚饭呀<img src=\'cid:pho\'/>", null, "text/html"); 21 //创建一个资源,该资源与html正文中的相关内容一一对应 22 LinkedResource lr = new LinkedResource(@"01.jpg", "image/jpg"); 23 lr.ContentId = "xxx"; 24 //把这个资源加到html正文中 25 htmlBody.LinkedResources.Add(lr); 26 //把html正文对象加到邮件对象mailObject中 27 mailObject.AlternateViews.Add(htmlBody); 28 //-------------------------------------- 29 //2.创建一个发送邮件的对象 30 SmtpClient smtpClient = new SmtpClient(); 31 smtpClient.Host = "192.168.0.108"; //设置服务器ip地址 32 smtpClient.Port = 25; //端口号 33 //引入命名空间:using System.Net; 34 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 35 //发送 36 smtpClient.Send(mailObject); 37 MessageBox.Show("ok"); 38 #endregion 39 }
发送带附件的邮件:
1 private void button4_Click(object sender, EventArgs e) 2 { 3 #region 方式二 4 //引用命名空间:using System.Net.Mail; 5 //1、创建一个邮件对象 6 MailMessage mailObject = new MailMessage(); 7 //设置发件人 8 mailObject.From = new MailAddress("sam@chenyanbin.cn"); //发件人地址 9 //设置收件人 10 mailObject.To.Add(new MailAddress("alex@chenyanbin.cn")); //收件人,可以多个 11 //mailObject.CC 抄送的人 12 //设置邮件主题 13 //为了防止乱码,设置主题编码格式 14 mailObject.SubjectEncoding = Encoding.UTF8; 15 mailObject.Subject = "吃了吗?"; 16 //设置正文编码格式 17 //------------------------------------- 18 mailObject.BodyEncoding = Encoding.UTF8; 19 //创建一个html正文对象 20 AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("吃了吗?<font color=\'red\' size=\'7\'>吃的</font>什么晚饭呀<img src=\'cid:pho\'/>", null, "text/html"); 21 //创建一个资源,该资源与html正文中的相关内容一一对应 22 LinkedResource lr = new LinkedResource(@"01.jpg", "image/jpg"); 23 lr.ContentId = "xxx"; 24 //把这个资源加到html正文中 25 htmlBody.LinkedResources.Add(lr); 26 //把html正文对象加到邮件对象mailObject中 27 mailObject.AlternateViews.Add(htmlBody); 28 //----------------------增加附件------------------ 29 Attachment attach1 = new Attachment("a.jpg"); 30 mailObject.Attachments.Add(attach1); 31 //----------------------增加附件------------------ 32 //-------------------------------------- 33 //2.创建一个发送邮件的对象 34 SmtpClient smtpClient = new SmtpClient(); 35 smtpClient.Host = "192.168.0.108"; //设置服务器ip地址 36 smtpClient.Port = 25; //端口号 37 //引入命名空间:using System.Net; 38 smtpClient.Credentials = new NetworkCredential("sam", "1234"); 39 //发送 40 smtpClient.Send(mailObject); 41 MessageBox.Show("ok"); 42 #endregion 43 }