这是我学C#后写的第一个比较拿得出手的东西,肯定有很多错误之处,还望各位高手指正。
写它的原因就是.net自带的SmtpMail不支持SMTP认证(说句题外话,我真很奇怪, 从ASP到ASP.NET,M$的邮件组件老是慢半拍,ASP中的CDONTS难得能有正常使用的, 到了.NET时代,SMTP服务器基本都得验证才能用,.NET的SmtpMail又不支持验证, 真是~~~),我费了好几天功夫才弄明白怎样把原来的Jmail怎么弄到.NET下用, 可用起来还是比较麻烦,正好买了本《C#网络程序设计》,作为实践项目,也是为了 让自己以后轻松一点,我写了这个东西。
程序架构可能有些乱,都是原来写ASP时留下的毛病,如果那位能帮我弄得整齐一点,小弟感激不尽。
欢迎大家提出修改建议,或者自行修改,最好能把修改稿Mail给我一份,让我也学习学习 ^_^。
完整的源代码和编译好的DLL可以从下面的URL下载。
http://huolx.t2008.com/class.asp?classlevel=3&classname=.net技术&l2classname=ESmtpmail&articleid=-486856519
下面开始贴源代码。
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Collections;
namespace Huolx.Pubclass
{
/// <summary>
/// <para>支持SMTP服务器认证的邮件发送类</para>
/// <para></para>
/// <para>ver 1.0B</para>
/// <para>属性和方法设置类似于Jmail。</para>
/// <para></para>
/// <para>Huolx(flycloud@btamail.net.cn)版权所有,转载请保留。</para>
/// </summary>
/// <remarks>
/// <para>这是我学C#后写的第一个比较拿得出手的东西,肯定有很多错误之处,还望各位高手指正。</para>
/// <para></para>
/// <para>写它的原因就是.net自带的SmtpMail不支持SMTP认证(说句题外话,我真很奇怪,
/// 从ASP到ASP.NET,M$的邮件组件老是慢半拍,ASP中的CDONTS难得能有正常使用的,
/// 到了.NET时代,SMTP服务器基本都得验证才能用,.NET的SmtpMail又不支持验证,
/// 真是~~~),我费了好几天功夫才弄明白怎样把原来的Jmail怎么弄到.NET下用,
/// 可用起来还是比较麻烦,正好买了本《C#网络程序设计》,作为实践项目,也是为了
/// 让自己以后轻松一点,我写了这个东西。</para>
/// <para></para>
/// <para>程序架构可能有些乱,都是原来写ASP时留下的毛病,如果那位能帮我弄得整齐一点,小弟感激不尽。</para>
/// <para></para>
/// <para>欢迎大家提出修改建议,或者自行修改,最好能把修改稿Mail给我一份,让我也学习学习 ^_^。</para>
/// </remarks>
public class ESmtpMail
{
/// <summary>
/// 设定语言代码,默认设定为GB2312,如不需要可设置为""
/// </summary>
public string Charset="GB2312";
/// <summary>
/// 发件人地址
/// </summary>
public string From="";
/// <summary>
/// 发件人姓名
/// </summary>
public string FromName="";
/// <summary>
/// 回复邮件地址
/// </summary>
public string ReplyTo="";
/// <summary>
/// 邮件服务器域名
/// </summary>
private string mailserver="&q