首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > 邮件与程序开发 > .NET环境下Email的技术介绍 > 正文

.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: <A@B.com>

服务器端: 250 OK

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

客户端:RCPT TO: <d@e.com>

服务器端:250 OK

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

客户端:DATA

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

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

客户端:Subject:  <CRLF>

内容<CRLF>

.<CRLF>

 客户端用QUIT命令退出。

              客户端:QUIT

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

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

缺点:程序量相对较多,

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

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

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

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

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

        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   邮件的优先程度,从15

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

终止会话,关闭邮箱

 

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

相关文章 热门文章
  • 现代通信系统的革命:Email死了?
  • Coremail邮件系统为厦门大学重建信息化基础
  • 企业中需要变更员工 Email 地址,如何确保原有受RMS保护的文档访问正常
  • McAfee Email Gateway 6.7.2 Hotfix 2更新修复多个安全漏洞
  • Coremail再获软件行业最高奖项
  • Coremail荣登2009年度IT经典最红榜
  • Coremail XT V2.0
  • Websense Email Security STEMWADM.EXE远程拒绝服务漏洞
  • Websense Email Security Web Administrator前端跨站脚本漏洞
  • Coremail打造国务院新闻办公室互联网邮件系统
  • coremail技术+服务,助推税务信息化
  • Coremail新产品推出邮件召回功能
  • 用C++ Builder实现电子邮件群发
  • 用Cdonts实现发送Email
  • Jmail的主要参数列表
  • ASP.NET 2.0发送电子邮件全面剖析之二
  • VC++ SMTP协议电子邮件传送剖析
  • 通过sina的smtp验证的Java发送邮件源代码
  • ASP.NET 2.0中发送电子邮件剖析之一
  • 在Asp.Net中使用SmtpMail发送邮件的方法
  • .NET环境下Email的技术介绍
  • ASP.NET 2.0发送电子邮件中存在的问题
  • 用ASP判断Email地址是否有效
  • IIS如何接收ServerXMLHTTP传过来的编码字符?
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号