在 .NET Framework 2.0的System.Net.Mail命名空间中新增的MailMessage类和SmtpClient类使我们很容易发送Email,SmtpClient类提供了同步和异步2种方式发送邮件.
同步发送邮件由于比较简单,请看代码
Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->MailMessagemm=newMailMessage();
//发件人
mm.From=newMailAddress("aierong@126.com","aierong_126");
//收件人(可以是多个)
mm.To.Add(newMailAddress("aierong@qq.com"));
mm.To.Add(newMailAddress("aierong@163.com"));
//抄送(CC)(可以是多个)
mm.CC.Add(newMailAddress("aierong@qq.com"));
mm.CC.Add(newMailAddress("aierong@qq.com"));
//密件抄送(BCC)(可以是多个)
mm.Bcc.Add(newMailAddress("114298@qq.com"));
mm.Bcc.Add(newMailAddress("10249102@qq.com"));
//主题
mm.Subject="邮件的主题1";
//邮件正文
mm.Body="body";
//附件(可以是多个)
mm.Attachments.Add(newAttachment(@"D:\Access.zip"));
mm.Attachments.Add(newAttachment(@"D:\SetupReport.msi"));
SmtpClientsc=newSmtpClient();
//设置SMTP主机的名称或IP地址
sc.Host="smtp.126.com";
stringUser="";
stringPassWord="";
//设置用于验证发件人身份的凭据
sc.Credentials=newSystem.Net.NetworkCredential(User,PassWord);
sc.Send(mm);
MessageBox.Show("ok");
要是邮件容量比较大,可以设置SmtpClient.Timeout属性(默认值为100 秒),以免超时。
当然,我们还可以用配置文件来指定SmtpClient对象的默认主机、端口和凭据值等属性。请看下面配置
Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><system.net>
<mailSettings>
<smtp>
<networkpassword=""userName=""host="smtp.126.com"/>
</smtp>
</mailSettings>
</system.net>
异步发送邮件:
以上代码是基于同步的发送方式,利用SmtpClient.SendAsync方法可以很方便实现异步发送邮件
SendAsync方法描述如下:
public void SendAsync (
MailMessage message,
Object userToken
)
参数
message
包含要发送的消息的 MailMessage。
userToken
一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
代码
Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->MailMessagemm=newMailMessage();
//发件人
mm.From=newMailAddress("aierong@126.com","aierong_126");
//收件人(可以是多个)
mm.To.Add(newMailAddress("aierong@qq.com"));
//主题
mm.Subject="邮件的主题1";
//邮件正文
mm.Body="body";
//附件(可以是多个)
mm.Attachments.Add(newAttachment(@"D:\Access.zip"));
SmtpClientsc=newSmtpClient();
//SmtpClient.SendCompleted事件,在异步电子邮件发送操作完成时调用
sc.SendCompleted+=newSendCompletedEventHandler(sc_SendCompleted);
//设置SMTP主机的名称或IP地址
sc.Host="smtp.126.com";
stringUser="aierong";
stringPassWord="aie100le";
//设置用于验证发件人身份的凭据
sc.Credentials=newSystem.Net.NetworkCredential(User,PassWord);
//异步发送邮件
sc.SendAsync(mm,"testmessage");
voidsc_SendCompleted(objectsender,AsyncCompletedEventArgse)
{
if(e.Error==null)
{
MessageBox.Show("发送成功");
//显示出来用户定义对象"testmessage"
MessageBox.Show(e.UserState.ToString());
}
else
{
MessageBox.Show(e.Error.Message);
}
}
http://aierong.cnblogs.com
分享到:
相关推荐
ASP.NET MVC2.0是一个基于模型-视图-控制器(MVC)设计模式的Web应用程序框架,由微软开发,用于构建高效、可测试且易于维护的Web应用。在这个框架下,开发者可以更清晰地分离业务逻辑、用户界面和数据处理。在本...
总结,基于.NET 2.0的Email程序利用了.NET Framework 2.0的`System.Net.Mail`命名空间,通过`MailMessage`和`SmtpClient`类实现邮件的创建与发送。"BMailer"作为这样的程序,旨在简化电子邮件的管理工作,为用户提供...
本章提供了使用ASP.NET 2.0发送邮件的详细指南。 - **SMTP配置**:讲解了如何配置SMTP服务器以支持电子邮件的发送。 - **邮件消息构造**:介绍了如何使用MailMessage类创建格式化的邮件内容。 - **邮件附件与模板**...
它基于.NET Framework 2.0,提供了一系列的新特性和改进,比如更丰富的服务器控件、更强大的身份验证和授权机制等。这些特性使得开发者可以更加高效地构建出高性能、高安全性的Web应用。 #### 三、数据库操作基础 ...
在.NET Framework 2.0版本中,微软提供了一套完整的邮件发送功能,使得开发者无需依赖第三方库如JMail,也能实现邮件的发送。这个功能主要通过System.Net.Mail命名空间下的类来实现,包括SmtpClient、MailMessage等...
标题中的“一个基于C# .Net 2 的邮件管理组件程序”指的是这是一个使用C#编程语言,基于微软的.NET Framework 2.0版本构建的邮件处理软件开发组件。这种组件通常是为了帮助开发者在他们的应用程序中集成邮件发送和...
ASP.NET 2.0 Profile是微软.NET Framework 2.0版本中引入的一个功能,用于在Web应用程序中存储和检索用户特定的信息。这个特性允许开发者在不依赖数据库或其他持久化机制的情况下,轻松地管理用户的个性化设置。下面...
1.此程序运行在XP上需要安装 Microsoft .NET Framework 2.0 或以上 , Windows 7/Vista可以不安装Microsoft .NET Framework 华军软件园下载:http://www.onlinedown.net/soft/38669.htm 2.免费给全球任何移动...
根据提供的信息,我们可以了解到这份资料主要涉及的是微软认证考试70-528的相关知识点,特别是关于.NET Framework 2.0中的Web客户端开发部分。下面将详细解释几个具体的知识点。 ### 微软认证考试70-528概述 微软...
1.此程序运行在XP上需要安装 Microsoft .NET Framework 2.0 或以上 , Windows 7/Vista可以不安装Microsoft .NET Framework 华军软件园下载:http://www.onlinedown.net/soft/38669.htm 2.免费给全球任何移动...
9、如无法运行本软件,请下载并安装由微软公司提供的.Net FrameWork2.0系统. 10、如果您在使用过程中遇到程序问题或建议请于我联系我的Email是 mailto:liangaspx@163.com。 11、如需要源码与我联系 李亮 QQ:...
它适用于那些使用Microsoft Visual Studio 2005与2008或其它与.NET Framework 2.0及更高版本兼容的开发工具的开发人员。 提供全套源码,有需要请联系. QQ:8860109 Email:chenzhip_1@hotmail.com
10、如无法运行本软件,请下载并安装由微软公司提供的.Net FrameWork2.0系统. 11、如果您在使用过程中遇到程序问题或建议请于我联系我的Email是 mailto:liliang119007@163.com。 【生成单层代码】 输入数据库名...
它构建于Microsoft的.NET Framework 2.0之上,这是一个广泛采用的开发平台,提供了丰富的类库和工具,支持多种编程语言,如C#和VB.NET。选择.NET 2.0作为基础意味着OpenPOP具有良好的兼容性和稳定性,能够运行在各种...
9、如无法运行本软件,请下载并安装由微软公司提供的.Net FrameWork2.0系统. 10、如果您在使用过程中遇到程序问题或建议请于我联系我的Email是 mailto:mikun@163.com。 11、如有疑问请联系作者 米坤 QQ:...
- **ASP.NET MVC2.0**:基于.NET Framework的MVC架构的Web应用程序框架。 - **WF4.0 (Windows Workflow Foundation 4.0)**:微软提供的工作流技术,用于定义、执行和管理业务流程和服务。 #### 用户注册流程概述 ...
ASP.NET MVC 是微软提供的一种基于模型-视图-控制器(Model-View-Controller)架构的Web应用程序开发框架。在ASP.NET MVC2.0版本中,它提供了强大的功能和灵活性,使得开发者可以更有效地构建可维护、可扩展的Web...
在C#中,我们可以通过.NET Framework或.NET Core库来实现邮件功能。 1. **邮件发送** 发送邮件主要涉及到SMTP协议。C#中的`System.Net.Mail`命名空间提供了`SmtpClient`类,用于发送邮件。首先,你需要设置SMTP...