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

C#.NET -自动读取文本文件中Email地址,指定时间后自动发送邮件

2008-07-17 15:41 666 查看
-------------------
邮件处理发送代码段
-------------------
//读取文本文件中的邮件(文本文件中邮件地址按照一行一个存放)
private string EmailListRead()
{
StreamReader SR = new StreamReader("EmailList.txt");
string EmailListStr = SR.ReadToEnd();
return EmailListStr;
}

//邮件地址处理发送
private void SendMailLocalhost()
{
MailMessage msg = new System.Net.Mail.MailMessage();

//逐行读取邮件地址
string email = EmailListRead();
string[] emailall = email.Split('/n');
for (int i = 0; i < emailall.Length; i++)
{
if (emailall[i].Contains("@"))
{
msg.To.Add(emailall[i].Trim());
}
}

//msg.To.Add("b@b.com");可以发送给多人
//msg.CC.Add("c@c.com");可以抄送给多人

msg.From = new MailAddress("a@a.com", "客流量自动导入", System.Text.Encoding.UTF8);
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
msg.Subject = "客流量自动导入出现错误";//邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
msg.Body = this.ACTR_log;//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = false;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
//附件
//Attachment data = new Attachment("filename");
//msg.Attachments.Add(data);

SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("uID", "uPWD");
client.Host = "/*输入邮件服务器SMTP地址*/";
object userState = msg;
string mailEx = "";
try
{
client.SendAsync(msg, userState);
//MessageBox.Show("发送成功");
}
catch (System.Net.Mail.SmtpException ex)
{
mailEx = ex.ToString();
//MessageBox.Show(ex.Message, "发送邮件出错");
}
}
1.建立Timer
private System.Windows.Forms.Timer timer1;
this.timer1 = new System.Windows.Forms.Timer(this.components);
//timer1的间隔时间为1分钟(从timer.start()开始计时)
this.timer1.Interval = 60000;
//timer1到时间后启动发生的时间
this.timer1.Tick += new
System.EventHandler(this.timer1_Tick);

2.在需要触发的事件里开始计时
timer1.Enabled = true;
timer1.Start();

3.Timer1的启动事件
private void timer1_Tick(object sender, EventArgs e)
{
//开始发送邮件
SendMailLocalhost();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: