发布一个免费邮件群发器,源码(2)
上文中,用到一个类MailSetting.cs,用于存储定认发送邮件的参数。
由于是自己用,直接用WebMIS.Net快速开发平台的一个配置库支持文件。
当然大家自己定义一个窗口,窗口上加几个控件,对应该类的变量就可以了,或者自己在App.config中增加设置,否则有人会说欺骗源码:)
using System;using System.Collections.Generic;using System.Text;namespace GoldMailer{ /// <summary> /// 该类主要定义邮件收发中的一些参数。 /// /// 作 者:长江支流(周方勇) /// Email:flygoldfish@163.com QQ:150439795 /// 网 址:http://blog.csdn.net/flygoldfish /// ★★★★★您可以免费使用此程序,但是请您完整保留此说明,以维护知识产权★★★★★ /// /// </summary> public class MailSetting { //这里借用原来一个工程项目的配置dll,使用者可以自己增加一个窗口定义对应的变量 /* 配置信息 <OtherParameters> <ParameterItem> <ParameterName>SMTP服务器</ParameterName> <ParameterValue>smtp.163.com</ParameterValue> </ParameterItem> <ParameterItem> <ParameterName>收发端口号</ParameterName> <ParameterValue>25</ParameterValue> </ParameterItem> <ParameterItem> <ParameterName>发件人邮箱</ParameterName> <ParameterValue>GoldPrinter@163.com</ParameterValue> </ParameterItem> <ParameterItem> <ParameterName>发件人密码</ParameterName> <ParameterValue /> </ParameterItem> <ParameterItem> <ParameterName>发件人显示</ParameterName> <ParameterValue>金质打印通(长江支流)</ParameterValue> </ParameterItem> <ParameterItem> <ParameterName>是否使用SSL</ParameterName> <ParameterValue>true</ParameterValue> </ParameterItem> </OtherParameters> */ private string _SmtpServer = ""; private int _SmtpPort = 25; private bool _SmtpSSL = false; private string _SenderMail = ""; private string _SenderPassword = ""; private string _SenderDisplay = ""; private string _ReplyToMail = ""; private string _ReplyToDisplay = ""; #region 属性... /// <summary> /// 获取或设置SMTP服务器 /// </summary> public string SmtpServer { get { return _SmtpServer; } set { _SmtpServer = value; } } /// <summary> /// 获取或设置收发端口号 /// </summary> public int SmtpPort { get { return _SmtpPort; } set { _SmtpPort = value; } } /// <summary> /// 获取或设置是否使用SSL /// </summary> public bool SmtpSSL { get { return _SmtpSSL; } set { _SmtpSSL = value; } } /// <summary> /// 获取或设置发件人邮箱 /// </summary> public string SenderMail { get { return _SenderMail; } set { _SenderMail = value; } } /// <summary> /// 获取或设置发件人密码 /// </summary> public string SenderPassword { get { return _SenderPassword; } set { _SenderPassword = value; } } /// <summary> /// 获取或设置发件人显示信息 /// </summary> public string SenderDisplay { get { return _SenderDisplay; } set { _SenderDisplay = value; } } /// <summary> /// 获取或设置收信人回复指向邮件。 /// </summary> public string ReplyToMail { get { return _ReplyToMail; } set { _ReplyToMail = value; } } /// <summary> /// 获取或设置收信人回复指向邮件显示名。 /// </summary> public string ReplyToDisplay { get { return _ReplyToDisplay; } set { _ReplyToDisplay = value; } } #endregion 属性... /// <summary> /// 创建对象新的实例。 /// </summary> public MailSetting() { LoadConfig(); } /// <param name="senderPassword">指定密码优先于配置。</param> public MailSetting(string senderPassword):this() { _SenderPassword = senderPassword; } /// <summary> /// 加载配置信息 /// </summary> public void LoadConfig() { WebMIS.FrameWork.Template.Config.SystemConfig config = new WebMIS.FrameWork.Template.Config.SystemConfig(); config = config.Open("Config\\Config.xml"); _SmtpServer = config.GetParameterValue("SMTP服务器"); int port = 0; int.TryParse(config.GetParameterValue("收发端口号"),out port); if (port > 0) { _SmtpPort = port; } _SenderMail = config.GetParameterValue("发件人邮箱"); _SenderPassword = config.GetParameterValue("发件人密码"); _SenderDisplay = config.GetParameterValue("发件人显示"); if (config.GetParameterValue("是否使用SSL").ToLower().Trim() == "true") { _SmtpSSL = true; } else { _SmtpSSL = false; } //回复邮件 _ReplyToMail = config.GetParameterValue("回复邮件"); _ReplyToDisplay = config.GetParameterValue("回复显示"); } }}