`
yiyeqinghuasoon
  • 浏览: 643477 次
文章分类
社区版块
存档分类
最新评论

.NET环境下Email的技术介绍

 
阅读更多

出处:博客园 作者:surprise 时间:2005-7-2 1:43:00

一、NET环境下几种不同的邮件发送解决方案

1、 WEB开发,在ASP.NET中引用System.Web.Mail类

邮件消息是通过内置在 Microsoft Windows 2000 中的 SMTP 邮件服务或任意的 SMTP 服务器来传送的。System.Web.Mail 命名空间中生成的SmtpMail类可用于在C#网络程序中发送SMTP邮件。此命名空间中的类可以在 ASP.NET 或任何托管应用程序。在System.Web.Mail中提供用于构造电子邮件附件的属性和方法的类MailAttachment和用于构造电子邮件的属性和方法的类MailMessage。

⑴ SmtpMail类

属性:

SmtpServer 获取或设置要用于发送所有电子邮件的 SMTP 邮件服务器的名称。

方法:

Send() 发送电子邮件。

⑵ MailMessage类

属性:

Attachment 指定随消息一起传输的附件列表。
Bcc 获取或设置以分号分隔的电子邮件地址列表,这些地址接收电子邮件的匿名副本 (BCC)。

Body 获取或设置电子邮件的正文。

BodyEncoding 获取或设置电子邮件正文的编码类型。

BodyFormat 获取或设置电子邮件正文的内容类型。

Cc 获取或设置以分号分隔的电子邮件地址列表,这些地址接收电子邮件的抄送副本 (CC)。

From 获取或设置发件人的电子邮件地址。

Headers 指定随电子邮件一起传输的自定义标头。

Priority 获取或设置电子邮件的优先级。

Subject 获取或设置电子邮件的主题行。

To 获取或设置收件人的电子邮件地址。

UrlContentBase 获取或设置 Content-Base HTTP 标头,即在 HTML 编码的电子邮件正文中使用的所有相对URL 的 URL 基。

UrlContentLocation获取或设置电子邮件的 Content-Location HTTP 标头。

⑶ MailAttachment类

构造函数:

 public MailAttachment( string filename);

filename附件文件的名称。

代码如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Web.Mail;

namespace WebMail

{

public class WebForm1 : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Button Button1;

private System.Web.Mail.MailMessage m_Mail;

private void Page_Load(object sender, System.EventArgs e)

{

m_Mail=new MailMessage();

}

#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{

InitializeComponent();

base.OnInit(e);

}

private void InitializeComponent()

{

this.Button1.Click += new System.EventHandler(this.Button1_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void Button1_Click(object sender, System.EventArgs e)

{

'定义SMTP服务器的名称

m_Mail.SmtpServer = "smtp.163.com";

'定义邮件的发送地址

m_Mail.From=" lihonggen@163.com ";;

'定义邮件的接收地址

m_Mail.To = " lihonggen0@163.com";

'定义邮件的暗送地址

'm_Mail.Bcc "aa@sina.com"

'定义邮件的抄送地址

'm_Mail.Cc = "aaa@sina.com"

'定义邮件的主题

m_Mail.Subject = "主题";

'定义邮件的主体

m_Mail.Body = "邮件主体!";

'邮件以 HTML的格式发送

m_Mail.BodyFormat = MailFormat.Html;

'定义邮件的有限级,在此设定为高

m_Mail.Priority = MailPriority.High;

'给发送的邮件附加上一个附件

m_Mail.Attachments.Add(New MailAttachment("c:/lihonggen.doc"));

SmtpMail.Send(m_Mail);

}

}

}

2、 在开发Windows 应用程序中使用System.Net.Sockets

也是基于SMTP协议

一、SMTP协议简介

⑴ 客户端通过服务器的25端口建立TCP/IP连接

服务器端: 220 server.com Simple Mail Transfer Service Ready

⑵ 客户端使用“HELO”命令标识发件人

客户端:HELO server.com

服务器端:250 server.com

⑶ 客户端发送MAIL命令,服务器端以OK作为响应表明准备接收

客户端: MAIL FROM:

服务器端: 250 OK

⑷ 客户端发送RCPT命令标识收件人,服务器端回应是否愿意为收件人接受邮件

客户端:RCPT TO: <d></d>

服务器端:250 OK

⑸ 协商结束后用命令DATA发送发送邮件

客户端:DATA

服务器端:354 Start mail input: end with <crlf>.<crlf></crlf></crlf>

⑹ 客户端以.表示结束输入内容一起发送出去

客户端:Subject: <crlf></crlf>

内容<crlf></crlf>

.<crlf></crlf>

⑺ 客户端用QUIT命令退出。

客户端:QUIT

服务器端:250 server.com closing transmission channel

优点:可以在此基础上开发出自己的组件,利用Sockets我们可以进行网络编程开发

缺点:程序量相对较多,

因代码过长所以在此不显示了

3、 IIS SMTP自带的基本的发信组件CDONTS

你不必专门下载,微软已经提供了这个组件,只要安装了2000,NT的SMTP就会有的。

优点:组件由操作系统自带

缺点:功能比较差,可扩展性不强

Mymail = CreateObject("CDONTS.NewMail")

Mymail.From = *** '信件发送者信箱

Mymail.To = *** ‘信件接收者信箱

Mymail.CC = *** '抄送

Mymail.BCC = *** ’密件发送

Mymail.Subject = *** ‘信件主题

Mymail.Body = *** ’信件正文

'设置优先级,0-不重要,1-一般,2-重要。

Mymail.Importance = 2

Mymail.Send()

Mymail = Nothing

4、使用JMail组件

Jmail具有以下特点:

(1)可以发送附件;
(2)详细日志能力,便于你查看问题所在;
(3)设置邮件发送的优先级;
(4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。
(5)密件发送/(CC)抄送/紧急信件发送能力;
(6)最关键的就是--免费的组件,不必发钱,所以非常值得使用。

JMail组件的常用属性:

Body 邮件正文

Logging 调用Log记录,供Debug用

Priority 邮件的优先程度,从1到5

Sender 发件人

ServerAddress SMTP服务器的IP地址或名称

Subject 邮件标题

JMail组件的常用方法:

AddAttachment 指定附件文件

AddRecipient 加入一个收件人

AddRecipientBCC 隐藏的副本抄送,只有发件人和BCC收件人知道。

AddRecipientCC 副本抄送

Execute 送出邮件

了解必要的属性及方法后,余下的部分接收使用者输入的Email,当成参数传给AddRecipient方法,然后根据需要填上其余属性,最后以Execute方法寄出。例如:

JMail = Server.CreateObject("JMail.SMTPMail")

JMail.Logging = True

JMail.ServerAddress = "202.96.144.48"

JMail.Sender = "lihonggen0@163.com"

JMail.Subject = "subject."

JMail.Body = "body."

JMail.AddRecipient("bbbb@163.com")

JMail.AddAttachment("c:/go.gif")

JMail.Priority = 3

JMail.Execute()

JMail = Nothing

二、NET环境下邮件接收解决方案

POP3协议是一个客户读取或接收存储在远程邮件服务器上的邮件最常用的基本协议,一旦客户机与服务器建立一个连接,就发送简单文本命令,并且服务器以恰当的信息来响应。必须知道使用的命令是什么,以什么样的顺序发出,才能正确地从服务器上收取信件。

注意点:在登陆服务器时端口号应该是110

POP3的执行命令

首先手工输入

telnet pop.163.com

1.权限检查命令

执行命令

描述

USER

用户名

PASS

密码

2.获取信息命令

执行命令

描述

STAT

响应包含邮件的数量和全部邮件大小

LIST

收到一份个人邮件列表,列出每封邮件的大小

3.检索邮件

执行命令

描述

TOP

它能取得邮件的报头并且从信件中挑出文本行的数目

RETR

返回邮件的全部字节数目和整个邮件的文本

QUIT

终止会话,关闭邮箱

由于把每个功能都写下来收件代码就会过长,因此只写了USER、PASS、STAT执行命令http://www.cnblogs.com/surprise/archive/2004/09/24/46243.aspx#FeedBack,其它执行命令的代码请参考有关文档。

分享到:
评论

相关推荐

    UltraWinChart--Visual Studio .NET环境下丰富的客户端图表

    应用场景 适用于.NET环境下图表显示应用程序 运用优势 2D/3D图表类型 —&nbsp;;;;&nbsp;;;;&nbsp;;;;&nbsp;;;; 包含了所有主要的图表类型:Bar, Column, Line, Area, Pie, Scatter, Bubble, HeatMap, Candle, ...

    asp.net知识库

    .Net框架下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0...

    ActiveReports for .NET--灵活强大的.Net 报表制作控件

    其功能和灵活性与ActiveReports 2.0相同,并提供了完整的.NET环境下的代码集成。使用.NET 版的ActiveReports,你可以采用Visual Studio.NET 编辑器,用C#或Visual Basic .NET 语言编写报表代码,其中包含了ASP.NET ...

    PowerTCP .NET Subscription--功能强大的网络通讯控件组件

    应用场景 适用于.NET环境下各种通讯应用系统的建立 运用优势 开发环境 Microsoft Visual Studio .NET Microsoft Visual Basic .NET Microsoft Visual C++.NET Microsoft Visual C# .NET .NET Common ...

    ASP.NET WebApi E-Mail服务(.NET 6.0+EntityFrameworkCore 6)

    通过SMTP向请求邮箱发信,发信邮箱由API建立者创建,并设置权限,项目资源,包括了结构框架等,使用了ASP.NET WebAPI技术和EFCore框架,涉及到依赖注入等知识,需要引入Newtonsoft.Json包,更多信息请查看作者博客,用现成的...

    FlexGrid for .NET--.NET版的灵活网格

    摘要 ComponentOne FlexGrid for .NET 综合了最新的数据绑定技术-ADO.NET,能与Microsoft .NET框架无缝集成。因此,您能获得一个容易使用而且非常健壮的网格控件来创建用户友好界面,并且显示,编辑,格式化,组织,...

    EasyPlat.net快速权限开发平台V56

    4:增加登录进入主界面 extJS开发,ExtIndex目录下所有内容 5:修改存储过程spJimModiCode 6:DefineSysRole.aspx.cs 第77行原代码为: Response.Redirect("SetSysRoleMenu.aspx?SysRoleID"); 修改为:Response....

    El Tabelle for .NET--高性能的数据库网格.Net控件

    摘要 El Tabelle 提供了大约200多种丰富的表格功能以及计算引擎。...开发环境 VB .NET/C# .NET 支持平台 Windows2000/XP 电话 021-58549800 Email: tools@sh.grapecity.com http://www.grapecity.com/china

    网软志成分类信息网站系统.net官方商业版

    asp.net信息网源码,信息发布系统源码,物流信息源码,房产信息网源码.net源码,公安信息网源码,家教信息平台源码,农业信息网源码,浦东信息网源码,北京信息超市源码,本分类信网程序基于asp.net+mssql技术开发的分类信息...

    仿赶集网站模板.net分类信息管理系统下载

    asp.net信息网源码,信息发布系统源码,物流信息源码,房产信息网源码.net源码,公安信息网源码,家教信息平台源码,农业信息网源码,浦东信息网源码,北京信息超市源码,本分类信网程序基于asp.net+mssql技术开发的分类信息...

    Email采集蜘蛛源码2012929

    使用多线程、线程池技术,使用最新.NET4.0开发配合MSSQL2005数据库提高IO读写速度,保存蜘蛛爬过的历史, 能避免采集到重复的Email,避免爬行重复的URL。如果有较高的硬件支持,蜘蛛理论上数日便能爬遍整个网络。 ...

    .NET移动通信程序设计.rar

    本书介绍了它的组成和使用方法,展现了它为程序员提供的程序设计环境。 本书言简意赅,重点突出,并包含大量的范例程序和移动设备显示程序运行结果的图片。适用于具有一定的程序设计基础的人使用,并可作为移动通信...

    分类信息系统正式版下载

    网软志成分类信息系统核心参数的合理配置,专业的web 、数据库、附件和图片链的负载均衡处理,保证了站点在繁忙的服务器环境下快速而稳定的运行。 严密的安全体系独创的防攻击技术保障 专业的过滤注入式入侵、严密...

    ComponentOne Enterprise Studio --应用广泛的开发控件集

    技术特性 图片文件名 应用场景 适用于ActiveX/.NET/ASP.NET各类应用系统的开发 运用优势 开发环境 支持平台 标准报价 12,420 元人民币 * 以上报价仅供参考,具体以厂商正式报价为准。 电话 021-...

    DOTNET移动通信程序设计

    Mobile Internet Toolkits是微软为移动设备的网页程序设计领域开发的工具包。...第9章介绍了一些高级程序,如ADO .NET、Email、图像、XML和XML Web Service的编写方法。第10章介绍网页的安全性。最后是附录。

    StorageTools--最终数据存储和文件处理工具包

    应用场景 适用于各类Windows环境下的结构化数据存储工具 运用优势 开发环境 Microsoft Visual Studio 6.0/.NET Microsoft Visual Basic 3.0/4.0/5.0/6.0/.NET Microsoft Visual C++ /4.0/5.0/6.0...

    报表打印控件wsReport3.5

    6、组件性能高效、轻量,可用于VB,VC,DELPHI,C++ Builder,PB,ASP,JSP,.NET等开发环境; 技术支持:QQ:199644181 MSN:wave12com@hotmail.com 电话:0755-25841980 传真:0755-25841520 Email:wave12@126.com...

    红水晶开源企业网站源码asp.net2.0

    本系统采用.net2.0技术,必须用.net2.0环境运行本系统,用.net1.1环境运行时会出错 最好在网站根目录下运行本系统 如果运行时提示以下错误: &lt;authenticationmode&gt;&lt;/authentication&gt; 解决方法如下: 打开管理工具--...

    仿百姓网模板分类信息系统下载

    网软志成分类信息系统核心参数的合理配置,专业的web 、数据库、附件和图片链的负载均衡处理,保证了站点在繁忙的服务器环境下快速而稳定的运行。 严密的安全体系独创的防攻击技术保障 专业的过滤注入式入侵、严密...

Global site tag (gtag.js) - Google Analytics