c#: Windows自动邮件服务无法工作

本文关键字:工作 邮件服务 Windows | 更新日期: 2023-09-27 18:09:40

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

我开始编写服务,在此之前我测试了,如果电子邮件发送工作-是的,它可以。

问题是,虽然我没有超时,而通过简单地使用Main()中的邮寄方法发送电子邮件,我得到超时和异常,当我尝试做同样的同时执行代码作为服务(使用InstallUtil.exe,然后去我的计算机/管理和启动服务)

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

同样适用于Windows注册表的任何更改-我可以在Main()正在执行或甚至在服务安装程序中进行读取/写入-但当服务想要使用它时它不起作用

请帮忙!

c#: Windows自动邮件服务无法工作

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

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

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