前几天学生问怎样用C#发送电子邮件,网上文章很多,随手找了一篇,给学生,让他自己去看下。结果,搞了一天没有搞定,只好来仔细看一下。用C#发送电子邮件,网上介绍的很多文章都是使用SmtpClient,也有System.Web.Mail ,但是,System.Web.Mail 已经是不推荐使用的了。以下是在网上常见的一种发送电子邮件的代码:
1 MailMessage MyEmilMessage=new MailMessage();
2 string attachFile; //用于构造附件的字符串变量
3
4 MyEmailMessage.From="Writer@sadf.com";
5 MyEmailMessage.To="Geter@dff.com;tome@asd.com";
6 MyEmailMessage.Subject="邮件发送的一个简单例子";
7 MyEmailMessage.body="猫王呼叫耗子,收到请回答!!!";
8 MyEmailMessage.BodyFormat=MailFormat.Text;
9 MyEmailMessage.Priority=MailPriority.High;
10
11 //构造添加附件
12 attachFile=@"D:\test\test.txt";
13 MailAttachment mailAttach=new MailAttachment(attachFile);
14 MyEmailMessage.Attachments.Add(mailAttach);
15
16 //发送电子邮件
17 SmtpMail.SmtpServer="发送电子邮件的SMTP地址或者IP";// 指定smtp服务器
18 SmtpMail.Send(MyEmailMessage);//发送电子邮件
19
这些代码基本上都没有任何错误,编译也都会通过,但是,如果使用这种方式发送,基本上可以保证,你的电子邮件发送不成功。然后,这里是缺少身份验证,而且比较麻烦就是这个身份验证。下面是我给学生写的一个示例:
1 string mailContent="邮件内容"; 2 3 MailMessage msg = new System.Net.Mail.MailMessage(); 4 msg.To.Add("******@gmail.com"); //收件人 5 6 //发件人信息 7 msg.From = new MailAddress("*****@gmail.com", "发送人姓名", System.Text.Encoding.UTF8); 8 msg.Subject = "这是测试邮件"; //邮件标题 9 msg.SubjectEncoding = System.Text.Encoding.UTF8; //标题编码 10 msg.Body = mailContent; //邮件主体 11 msg.BodyEncoding = System.Text.Encoding.UTF8; 12 msg.IsBodyHtml = true; //是否HTML 13 msg.Priority = MailPriority.High; //优先级 14 15 SmtpClient client = new SmtpClient(); 16 //设置GMail邮箱和密码 17 client.Credentials = new System.Net.NetworkCredential("帐号@gmail.com", "密码"); 18 client.Port = 587; 19 client.Host = "smtp.gmail.com"; 20 client.EnableSsl = true; 21 object userState = msg; 22 try 23 { 24 client.Send(msg); 25 MessageBox.Show("发送成功"); 26 } 27 catch (Exception ex) 28 { 29 MessageBox.Show(ex.Message, "发送邮件出错"); 30 } 31
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, c#局域网 邮件
, 邮件
, 电子邮件
, client
, system
, msg
c# 邮件
c chart控件使用、c 定时器的使用、c try catch的使用、c 类的使用、dev c 使用教程,以便于您获取更多的相关知识。