使用C#发送电子邮件

前几天学生问怎样用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 使用教程,以便于您获取更多的相关知识。

时间: 2024-11-10 00:14:10

使用C#发送电子邮件的相关文章

怎样配置SQL Server发送电子邮件

server 怎样配置SQL Server发送电子邮件 朱二(2004.9 转载请注明作者) 通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述.然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带

ASP教程:学习掌握使用CDOSYS发送电子邮件

教程 CDOSYS是ASP中的内置组件.此组建用于通过ASP来发送电子邮件. 使用CDOSYS发送电子邮件 CDO (Collaboration Data Objects)是一项微软的技术,被设计用来简化通信程序的创建. CDOCDOSYS是ASP中的内置组件.我们将会您展示如何使用该组件来发送电子邮件. How about CDONTs? 微软已经在Windows 2000.Windows XP以及Windows 2003中淘汰了CDONTs.如果您还在应用程序中使用CDONTs,就需要更新代

ASP.NET 2.0发送电子邮件全面剖析之二

asp.net 一.简介 在上篇中我们详细分析过,.NET框架2.0版本提供了一个新的命名空间(System.Net.Mail)和一些发送电子邮件的新类(注意:.NET框架1.x版本中提供的命名空间System.Web.Mail及相关的类仍然可以使用,以实现向后兼容性).而且,我们还详细分析过如何使用System.Net.Mail命名空间中的MailMessage和SmtpClient类来发送简单的普通文本格式的电子邮件消息. 本篇将讨论与电子邮件相关的更高级的选项.我们要分析如何发送HTML格

ASP.NET 2.0中发送电子邮件剖析之一

asp.net 一.简介 如今,电子邮件已经成为一种无所不在.异步通知和分布式的消息系统.存在许多web开发场所:其中,服务器端代码都需要生成一个电子邮件并且把它发送给指定的接收者.该电子邮件可以被发送给网点中的一些用户,通知他们有关于他们的新建用户帐户,提醒他们忘记的口令,或以邮件形式提交给他们一个清单.当然,这也可以是针对web开发者或站点管理员,提供给他们有关一个刚刚公开的未处理的异常或用户回馈的消息. 幸好,ASP.NET使得发送电子邮件非常轻松..NET框架版本1.x在System.W

用PHP实现用From发送电子邮件

本教程属于原载,转载请注明出自网页教学网 说明:用PHP实现发送电子邮件是比较简单的!大家可以看看如下完整代码. 1.把下面这段代码复制到你的网页中,可以复制到.HTML文件中. <form action="mail.php" method="post"> <p align="center"> <font face="Verdana"> Name:<br> <input t

在.NET 应用程序中用System.Web.Mail 发送电子邮件

web|程序 在.NET 应用程序中用System.Web.Mail 发送电子邮件 作者:Mark Strawmyer日期:February 9, 2004 -------------------------------------------------------------------------------- 欢迎来到 .NET Nuts & Bolts 栏目.在这个栏目中,我们将探讨怎样在应用中发送电子邮件.这将用到System.Web.Mail 名字空间中的类. 协作数据对象Wind

用System.Web.Mail发送电子邮件

web 作者:Mark Strawmyer 日期:February 9, 2004   欢迎来到 .NET Nuts & Bolts 栏目.在这个栏目中,我们将探讨怎样在应用中发送电子邮件.这将用到System.Web.Mail 名字空间中的类. 协作数据对象Windows 2000 协作数据对象 (CDOSYS) 是微软用来创建和发送基于标准的电子邮件信息的消息组件.它是 用与 Windows NT的协作数据对象(CDONTS) 的替代物. 尽管由于向后兼容的原因 CDONTS 已包含在 Wi

用Visual C#发送电子邮件

Visual C#是微软公司推出的下一代程序开发语言.他不仅具有Visual C++功能强大的特点,又具有Visual Basic的简洁,易上手的特点.所以一经推出,就收到了广大程序开发人员的欢迎.Visual C#和Visual C++的一个明显的区别在于,Visual C#本身是没有类库的,而Visual C++却是自身就带有类库.Visual C#虽然没有类库,但作为.Net框架中的一个十分重要的开发语言.他可以使用.Net框架提供的一个通用的软件开发包--.Net FrameWork S

.net类库中发送电子邮件的方法

发送电子邮件是许多需要用户注册的网站的通用功能,通过正则表达式我们可以过滤掉不符合电子邮件格式的输入,但是仍没有办法确保用户填写的电子邮件地址一定是他本人真实有效的电子邮件地址,通常验证电子邮件真实有效的办法是:当用户填写的注册资料经过网站初步格式验证之后,用户并不能利用此帐号登录,系统会向用户注册时填写的电子邮件地址发送一封电子邮件,邮件中给出一个链接,只有当用户点击了这个链接之后才能登录到网站,如果用户填写的电子邮件地址不是真实有效的或者不是他本人的,就不会收到这封电子邮件,这样仍然不能登录