首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

公布一个免费邮件群发器,源码(1)

2012-08-24 
发布一个免费邮件群发器,源码(1)今天想给一些老朋友们发下邮件,在群里问大家有没群发工具,问了一会没人回

发布一个免费邮件群发器,源码(1)

 

        今天想给一些老朋友们发下邮件,在群里问大家有没群发工具,问了一会没人回答,于是自己就整了一个。现共享给需要的大伙。话不多说,直接代码贴上:

 

        运行效果如下:     

       

 

公布一个免费邮件群发器,源码(1)

 

窗口:frmMailer.cs

 
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Mail;namespace GoldMailer{    /// <summary>    /// 实现邮件的群发,并可以增加附件。    ///     /// 作 者:长江支流(周方勇)    /// Email:flygoldfish@163.com  QQ:150439795    /// 网 址:http://blog.csdn.net/flygoldfish
    /// ★★★★★您可以免费使用此程序,但是请您完整保留此说明,以维护知识产权★★★★★    ///     /// </summary>    public partial class frmMailer : Form    {        //提示对话框标题        private const string MSG_TITLE = "金质打印通邮件群发器";        //参数配置        private MailSetting m_Setting = null;        public frmMailer()        {            InitializeComponent();        }        private void frmMailer_Load(object sender, EventArgs e)        {            m_Setting = new MailSetting();                  }        //发送邮件        private void btnSend_Click(object sender, EventArgs e)        {            if (txtTO.Text.Trim() == "")            {                MessageBox.Show("收件人不能为空,请重试!",MSG_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Information);                txtTO.Focus();                return;            }            if (MessageBox.Show("确认发送吗?", MSG_TITLE, MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.No)            {                return;            }            //发送邮件            SendMail();        }         //移除附件        private void btnRemoveFiles_Click(object sender, EventArgs e)        {            if (this.lstFiles.SelectedIndices.Count > 0)            {                this.lstFiles.Items.Remove(this.lstFiles.Items[this.lstFiles.SelectedIndices[0]]);            }        }        //增加附件        private void btnAddFiles_Click(object sender, EventArgs e)        {            OpenFileDialog dlg = new OpenFileDialog();            //单选            dlg.Multiselect = false;            if (dlg.ShowDialog() == DialogResult.OK)            {                this.lstFiles.Items.Add(dlg.FileName);            }            dlg.Dispose();            dlg = null;        }        //退出窗口        private void btnExit_Click(object sender, EventArgs e)        {            if (MessageBox.Show("是否确认退出?", MSG_TITLE, MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1) == DialogResult.Yes)            {                this.Close();            }                    }        //配置        private void btnConfig_Click(object sender, EventArgs e)        {            //自己做一个配置参数窗口对应MailSetting,或直接调用如下            WebMIS.FrameWork.Template.Config.frmConfigSetting frm = new WebMIS.FrameWork.Template.Config.frmConfigSetting();            frm.AfterSave += new EventHandler(frm_AfterSave);            frm.ShowDialog();        }        void frm_AfterSave(object sender, EventArgs e)        {            //加载配置信息            m_Setting.LoadConfig();        }        //发送邮件        private bool SendMail()        {            #region 实现...            //网络设置            SmtpClient smtp = new SmtpClient();            //将smtp的出站方式设为 Network            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;            smtp.Port = m_Setting.SmtpPort;            smtp.Host = m_Setting.SmtpServer;            smtp.EnableSsl = m_Setting.SmtpSSL;            //邮件认证,即邮箱用户名称密码            smtp.UseDefaultCredentials = false;            smtp.Credentials = new NetworkCredential(m_Setting.SenderMail, m_Setting.SenderPassword);            //邮件信息            MailMessage mm = new MailMessage();            mm.Priority = MailPriority.Normal;            //发件人            mm.From = new MailAddress(m_Setting.SenderMail, m_Setting.SenderDisplay);            //接收回复邮件            if (m_Setting.ReplyToMail != null && m_Setting.ReplyToMail != "")            {                //mm.ReplyTo = new MailAddress("MisGoldPrinter@163.com", "(答复)金质打印通");                mm.ReplyTo = new MailAddress(m_Setting.ReplyToMail, m_Setting.ReplyToDisplay);            }            //接收人、抄送、密送            //多个邮件英文逗号分开            //mm.CC.Add("FlyGoldFish@163.com,MISGoldPrinter@163.com");            //mm.CC.Add(new MailAddress("FlyGoldFish@163.com", "金质打印通,来自网易测试"));            try            {                mm.To.Add(ReplaceMailList(txtTO.Text));                                if (txtCC.Text.Trim() != "")                {                    mm.CC.Add(ReplaceMailList(txtCC.Text));                }                if (txtBCC.Text.Trim() != "")                {                    mm.Bcc.Add(ReplaceMailList(txtBCC.Text));                }            }            catch (FormatException fe)            {                MessageBox.Show("有非邮件格式,请修正后重试!", MSG_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Information);                return false;            }            //主题            mm.Subject = txtSubject.Text;            //内容            //mm.SubjectEncoding = Encoding.Unicode;            //mm.BodyEncoding = Encoding.Unicode;            mm.IsBodyHtml = false;            mm.Body = txtBody.Text;            //mm.IsBodyHtml = true;            //mm.Body =  "<font size = \"21\" color=\"blue\">长江支流金质打印通,准备升级</font>";            ////,请http://goldprinter.taobao.com/查看注册            //附件            for (int i = 0; i < this.lstFiles.Items.Count; i++)            {                mm.Attachments.Add(new Attachment(this.lstFiles.Items[i].ToString()));            }            try            {                smtp.Send(mm);                MessageBox.Show("发送成功!", MSG_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Information);                return true;            }            catch (Exception ex)            {                MessageBox.Show("发送错误信息:" + ex.Message, MSG_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Information);                txtTO.Focus();                return false;            }            #endregion 实现...        }        private string ReplaceMailList(string mails)        {            //分隔符转为半角逗号分开            string strMails = mails;            strMails.Replace(';', ',');            strMails.Replace(';', ',');            strMails.Replace(',', ',');            return strMails;        }    }}

2楼flygoldfish昨天 12:33
支持html发送。你可以把Html编辑好的直接拷过来。
1楼sjfe_cn昨天 11:57
这个内容要能支持html编辑就更好了

热点排行