我想创建一个简单的服务,它会定期下载电子邮件地址列表并向他们发送电子邮件。
我开始编写服务,在此之前我测试了电子邮件发送是否有效——是的,它确实有效。
问题是,虽然我通过简单地使用 Main() 中的邮件方法发送电子邮件时没有超时,但当我尝试在将代码作为服务执行时(使用 InstallUtil. exe,然后转到我的电脑/管理并启动服务)
我想它必须是一些权限/特权问题,但完全不知道如何解决它 - 我试图关闭防火墙但没有任何效果。当我在 onStart()、onStop() 方法或服务启动的线程中调用邮件方法时 - 我无法“连接到远程服务器”。我尝试使用不同的端口和 SMTP 服务器,但都是一样的——只要我在非服务程序中运行代码,它就可以工作。我尝试了不同的服务设置——LocalSystem、NetworkService itp——都一样。
对 Windows 注册表的任何更改也是如此——我可以在执行 Main() 时甚至在服务安装程序中进行读/写——但当服务想要使用它时它不起作用。
请帮忙!