Windows服务定时问题

昙花一现1 2006-04-20 11:35:58
如下代码,要实现定时发送邮件到指定邮箱:但收不到邮件,请问如何解决?

protected override void OnStart(string[] args)
{

// CMail mail = new CMail();
// mail.SengMail("cd8010@126.com","111111","pppp");
}

/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
}

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
CSendMail.SendMail("cd8010@126.com","cd8010@tom.com","body","1111","smtp.126.com","cd8010","198010");
}
catch ( Exception /*exp*/ )
{

}
}



}

public class CSendMail
{
public static void SendMail(string m_stringMailFrom,string stringMailTo,
string stringMailBody,string stringMailSubject,
string m_stringSmtpMailServer,string m_stringMailUser,
string m_stringMailPassword)
{
System.Web.Mail.MailMessage SendMailMessage = new System.Web.Mail.MailMessage();
SendMailMessage.From = m_stringMailFrom;
SendMailMessage.To = stringMailTo;
SendMailMessage.Body = stringMailBody;
SendMailMessage.BodyFormat = MailFormat.Html;
SendMailMessage.Subject = stringMailSubject;
//是否需要验证,一般是要的
SendMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
//自己邮箱的用户名
SendMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",m_stringMailUser);
//自己邮箱的密码
SendMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",m_stringMailPassword);
System.Web.Mail.SmtpMail.SmtpServer = m_stringSmtpMailServer;
System.Web.Mail.SmtpMail.Send(SendMailMessage);
}
...全文
309 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
veryhappy 2006-04-20
你的time事件应该没有被触发到
还是使用线程来处理
  • 打赏
  • 举报
回复
Knight94 2006-04-20
首先,你的程序是否是正确的,即不用service,在普通的app中是否成功;

如果前一步没有问题,在service中加入输出信息,看看运行到哪一步出现问题;
其次,建议在service中,用thread来替换timer。
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2006-04-20 11:35
社区公告

让您成为最强悍的C#开发者