您的位置:首页 > 编程语言 > C#

C#批量发送邮件程序中用到的两个函数

2012-06-17 10:53 274 查看
/// <summary>

/// 发送单封邮件

/// </summary>

/// <param name="MailToAddress"></param>

public void SendOneEmail(string MailToAddress)

{

string MailFromAddress=txtEmail.Text;

string MailTitle=txtEmailTitle.Text;

string MailContent=txtEmailContent.Text;

string MailSmtpServer=textBoxsmtp.Text;

int TempMailServer=MailFromAddress.IndexOf("@",0);

string MailUserName=MailFromAddress.Substring(0,TempMailServer);

string MailPassword=txtPassword.Text;

//string MailDdomain=MailFromAddress.Substring((TempMailServer+1),(MailFromAddress.Length-TempMailServer-1));

try

{

//实例化MailMessage对象

System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();

//定义邮件的发送地址

mail.From=MailFromAddress;

//定义邮件的接收地址

//设置以分号分隔的收件人电子邮件地址列表

mail.To=MailToAddress;

//定义邮件的主题

mail.Subject=MailTitle;

//设置电子邮件正文的内容类型

//在这里我们以HTML的格式发送

mail.BodyFormat=System.Web.Mail.MailFormat.Html;

//设置电子邮件的正文

mail.Body=MailContent;

//SMTP服务器

//许多SMTP服务器都需要身份验证

System.Web.Mail.SmtpMail.SmtpServer=MailSmtpServer;

//验证

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");

//登陆名

mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName">http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName);

//登陆密码

mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword">http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword);

//发送

System.Web.Mail.SmtpMail.Send(mail);

listBox2.Items.Add(MailToAddress);

txtSCount.Text=listBox2.Items.Count.ToString();

string strEmailSuccessFileName=Application.StartupPath+"//EmailSuccess.txt";

if (File.Exists(strEmailSuccessFileName))

{

StreamWriter strwriterobj=File.AppendText(strEmailSuccessFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.Close();

}

else

{

StreamWriter strwriterobj=File.CreateText(strEmailSuccessFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.Close();

}

}

catch(Exception ee)

{

listBox3.Items.Add(MailToAddress);

txtFCount.Text=listBox3.Items.Count.ToString();

txtFReport.Text=MailToAddress + "邮件发送失败" +ee.ToString();

string strEmailFailed=MailToAddress;

string strEmailFailedFileName=Application.StartupPath+"//EmailFailed.txt";

if (File.Exists(strEmailFailedFileName))

{

StreamWriter strwriterobj=File.AppendText(strEmailFailedFileName);

strwriterobj.WriteLine(strEmailFailed);

strwriterobj.Close();

}

else

{

StreamWriter strwriterobj=File.CreateText(strEmailFailedFileName);

strwriterobj.WriteLine(strEmailFailed);

strwriterobj.Close();

}

}

txtFinish.Text=(int.Parse(txtFinish.Text)+1).ToString();

}

/// <summary>

/// 密送邮件

/// </summary>

/// <param name="MailToAddress"></param>

/// <param name="MailBccAddress"></param>

private void SendTwoEmail(string MailToAddress,string MailBccAddress)

{

string MailFromAddress=txtEmail.Text;

string MailTitle=txtEmailTitle.Text;

string MailContent=txtEmailContent.Text;

string MailSmtpServer=textBoxsmtp.Text;

int TempMailServer=MailFromAddress.IndexOf("@",0);

string MailUserName=MailFromAddress.Substring(0,TempMailServer).Trim();

string MailPassword=txtPassword.Text.Trim();

//string MailDdomain=MailFromAddress.Substring((TempMailServer+1),(MailFromAddress.Length-TempMailServer-1));

try

{

//实例化MailMessage对象

System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();

//定义邮件的发送地址

mail.From=MailFromAddress;

//定义邮件的接收地址

//设置以分号分隔的收件人电子邮件地址列表

mail.To=MailToAddress;

//定义邮件的主题

mail.Subject=MailTitle;

//设置电子邮件正文的内容类型

//在这里我们以HTML的格式发送

mail.BodyFormat=System.Web.Mail.MailFormat.Html;

//设置电子邮件的正文

mail.Body=MailContent;

//mail.BodyEncoding.EncodingName.

//定义邮件的暗送地址

//设置以分号分隔的电子邮件地址列表

mail.Bcc=MailBccAddress;

//定义邮件的抄送地址 .抄送会显示在收件人列表中

//设置以分号分隔的电子邮件地址列表

//mail.Cc="xqf222@hotmail.com";

//SMTP服务器

//许多SMTP服务器都需要身份验证

System.Web.Mail.SmtpMail.SmtpServer=MailSmtpServer;

//验证

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");

//登陆名

mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName">http://schemas.microsoft.com/cdo/configuration/sendusername",MailUserName);

//登陆密码

mail.Fields.Add("<A href="http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword">http://schemas.microsoft.com/cdo/configuration/sendpassword",MailPassword);

//发送

System.Web.Mail.SmtpMail.Send(mail);

listBox2.Items.Add(MailToAddress);

listBox2.Items.Add(MailBccAddress);

txtSCount.Text=listBox2.Items.Count.ToString();

string strEmailSuccessFileName=Application.StartupPath+"//EmailSuccess.txt";

if (File.Exists(strEmailSuccessFileName))

{

StreamWriter strwriterobj=File.AppendText(strEmailSuccessFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.WriteLine(MailBccAddress);

strwriterobj.Close();

}

else

{

StreamWriter strwriterobj=File.CreateText(strEmailSuccessFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.WriteLine(MailBccAddress);

strwriterobj.Close();

}

}

catch(Exception ee)

{

listBox3.Items.Add(MailToAddress);

listBox3.Items.Add(MailBccAddress);

txtFCount.Text=listBox3.Items.Count.ToString();

txtFReport.Text= "邮件发送失败地址:" +"/r/n"+ MailToAddress+"/r/n" +MailBccAddress+ "/r/n" +ee.ToString();

string strEmailFailedFileName=Application.StartupPath+"//EmailFailed.txt";

if (File.Exists(strEmailFailedFileName))

{

StreamWriter strwriterobj=File.AppendText(strEmailFailedFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.WriteLine(MailBccAddress);

strwriterobj.Close();

}

else

{

StreamWriter strwriterobj=File.CreateText(strEmailFailedFileName);

strwriterobj.WriteLine(MailToAddress);

strwriterobj.WriteLine(MailBccAddress);

strwriterobj.Close();

}

}

txtFinish.Text=(int.Parse(txtFinish.Text)+1).ToString();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: