用c#写的smtp邮件发送类

2016-01-29 13:48 56 1 收藏

用c#写的smtp邮件发送类,用c#写的smtp邮件发送类

【 tulaoshi.com - ASP.NET 】

//**********************Created by Chen**************************
using System;
using System.IO;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Collections;
using System.Collections.Specialized;
using KSN.Exceptions;
using KSN.Validate;
namespace KSN.Web.Mail
{
 /// <summary
 /// 邮件内容
 /// </summary
 public class MailMessage
 {
  private string sender=null;
  private StringCollection receivers=new StringCollection();
  private string subject="";
  private string xMailer="";
  private StringCollection attachments=new StringCollection();
  private MailEncodings mailEncoding=MailEncodings.GB2312;
  private MailTypes mailType=MailTypes.Html;
  private byte[] mailBody=null;
  /// <summary
  /// 获取或设置发件人
  /// </summary
  public string Sender
  {
   get{return this.sender;}
   set{this.sender=value;}
  }
  /// <summary
  /// 获取收件人地址集合
  /// </summary
  public StringCollection Receivers
  {
   get{return this.receivers;}
  }
  /// <summary
  /// 获取或设置邮件主题
  /// </summary
  public string Subject
  {
   get{return this.subject;}
   set{this.subject=value;}
  }
  /// <summary
  /// 获取或设置邮件传送者
  /// </summary
  public string XMailer
  {
   get{return this.xMailer;}
   set{this.xMailer=value;}
  }
  /// <summary
  /// 获取附件列表
  /// </summary
  public StringCollection Attachments
  {
   get{return this.attachments;}
  }
  /// <summary
  /// 获取或设置邮件的编码方式
  /// </summary
  public MailEncodings MailEncoding
  {
   get{return this.mailEncoding;}
   set{this.mailEncoding=value;}
  }
  /// <summary
  /// 获取或设置邮件格式
  /// </summary
  public MailTypes MailType
  {
   get{return this.mailType;}
   set{this.mailType=value;}
  }
  /// <summary
  /// 获取或设置邮件正文
  /// </summary
  public byte[] MailBody
  {
   get{return this.mailBody;}
   set{this.mailBody=value;}
  }
 }
 /// <summary
 /// 邮件编码
 /// </summary
 public enum MailEncodings
 {
  GB2312,
  ASCII,
  Unicode,
  UTF8
 }
 /// <summary
 /// 邮件格式
 /// </summary
 public enum MailTypes
 {
  Html,
  Text
 }
 /// <summary
 /// smtp服务器的验证方式
 /// </summary
 public enum SmtpValidateTypes
 {
  /// <summary
  /// 不需要验证
  /// </summary
  None,
  /// <summary
  /// 通用的auth login验证
  /// </summary
  Login,
  /// <summary
  /// 通用的auth plain验证
  /// </summary
  Plain,
  /// <summary
  /// CRAM-MD5验证
  /// </summary
  CRAMMD5
 }
 /// <summary
 /// 邮件发送类
 /// </summary
 public class KSN_Smtp
 {
  #region "member fields"
  /// <summary
  /// 连接对象
  /// </summary
  private TcpClient tc;
  /// <summary
  /// 网络流
  /// </summary
  private NetworkStream ns;
  /// <summary

来源:https://www.tulaoshi.com/n/20160129/1491537.html

延伸阅读
标签: ASP
  这个功能要装上WINDOWS NT OPTON PACK 的SMTP SERVICE。 首先 Set mail = Server.CreateObject("CDONTS.NewMail")以呼叫SMTP Service的元件,然后设定: mail.To = "收件者E-Mail地址" mail.From = "寄件者的E-Mail地址" mail.Subject = "主旨" mail.Body = "E-mail内文" 最后Mail.S...
标签: Web开发
代码如下: ?php class Email { //---设置全局变量 var $mailTo = ""; // 收件人 var $mailCC = ""; // 抄送 var $mailBCC = ""; // 秘密抄送 var $mailFrom = ""; // 发件人 var $mailSubject = ""; // 主题 var $mailText = ""; // 文本格式的信件主体 var $mailHTML = ""; // html格式的信件主体 var $mailAttachments = ""; // ...
!--StartFragment--ADSL自动拨号类,前提是在系统中已经有了一个宽带拨号连接 调用代码: RASDisplay ras = new RASDisplay(); ras.Disconnect();//断线 ras.Connect("adsl");//拨号  代码如下: using System;  using System.Runtime.InteropServices;  public struct RASCONN...
第八章    用C#写组件     这一章关于用C#写组件。你学到如何写一个组件,如何编译它,且如何在一个客户程序中使用它。更深入一步是运用名字空间来组织你的应用程序。     这章由两个主要大节构成:     。你的第一个组件     。使用名...
标签: PHP
由于 PHP 没有提供现成的smtp函数,却提供了一个功能不甚灵活的mail()函数,这个函数需要服务器配置上的支持,并且不支持smtp验证,在很多场合无法正常的 工作 ,因此不建议使用。本文的目的在于为新手指明方向,并没有涉及那些高级的内容,一来本身水平有限,二来也担心不能准确的讲述相关的概念,进而对各位造成误导,还请自...

经验教程

505

收藏

5
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部