【问题标题】:C#: Windows auto-mail service doesn't workC#:Windows 自动邮件服务不起作用
【发布时间】:2011-09-27 10:22:38
【问题描述】:

我想创建一个简单的服务,它会定期下载电子邮件地址列表并向他们发送电子邮件。

我开始编写服务,在此之前我测试了电子邮件发送是否有效 - 是的,确实有效。

问题是,虽然我通过简单地使用 Main() 中的邮件方法发​​送电子邮件时没有超时,但当我在将代码作为服务执行时尝试做同样的事情时,我得到了超时和异常(使用InstallUtil.exe,然后转到我的电脑/管理并启动服务)

我猜它必须是一些权限/特权问题,但完全不知道如何解决它 - 我试图关闭防火墙但没有任何效果。当我在 onStart()、onStop() 方法或服务启动的线程中调用邮件方法时 - 我无法“连接到远程服务器”。我尝试使用不同的端口和 SMTP 服务器,但都是一样的——只要我在非服务程序中运行代码,它就可以工作。我尝试了不同的服务设置——LocalSystem、NetworkService itp——都一样。

对 Windows 注册表进行任何更改也是如此 - 我可以在执行 Main() 时甚至在服务安装程序中进行读取/写入 - 但当服务想要使用它时它不起作用。

请帮忙!

【问题讨论】:

    标签: c# windows service mailing


    【解决方案1】:

    服务在不同的帐户下运行。 (通常是服务)

    您需要确保您的代码考虑到这一点。当您在交互模式下运行时,您正在使用当前凭据运行。

    您是否将所有异常记录到日志文件中?由于服务没有用户界面,因此您需要将任何错误记录到日志文件或事件日志中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-13
      • 2021-07-31
      • 1970-01-01
      • 2018-04-24
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多