我有一个程序,在大多数情况下,在后台运行。让我们说它是DoesWork()。每周一次,我希望它通知用户过去几天完成的一些工作。它将是一个基本状态报告,列出一些已下载的文件。

最初,我想通过电子邮件发送此状态更新,所以我调查了但是有很多问题。我需要一个SMTP服务器,所以我看了GMail。没关系,但每天限制500封电子邮件,因此不适合发布。此外,在每个程序副本中都会出现相同的电子邮件帐户密码问题,据我所知,即使使用加密存储密码也存在风险。

然后我想也许我可以使用用户自己的电子邮件帐户向他/她自己发送电子邮件。这也有一些复杂性:用户需要为他/她的电子邮件帐户指定所有smtp信息,这对于目标用户来说太复杂了。另外,我不想让人们在我的程序中输入他们的电子邮件帐户密码来发送电子邮件。我认为这不是一个好习惯。

我有什么方法可以通过电子邮件这样做吗?电子邮件是我的第一选择,因为它是用户已经在检查的通知系统。这是非侵入性的。

是否有必要设置我自己的smtp服务器?如果是这样,我该怎么做?

如果电子邮件是禁止的,我还在考虑使用相关信息生成本地HTML文件,然后每周从程序中弹出一次通知,告知用户新的更新报告已准备就绪。我认为这是完全可行的,它只是过于突兀而不是我的第一选择。我想搭载用户已经在使用的系统。

谢谢! -Greg

有帮助吗?

解决方案

另一种方法是让程序生成RSS提要并指导用户如何订阅它。此外,生成新更新后,显示更新吐司约一分钟,然后自动隐藏它并将系统托盘图标更改为其他内容。大约一天后,将其更改回原始图标。此外,为用户提供永久关闭烤面包的设置。

依靠电子邮件不是一个好主意,因为您必须收集用户的电子邮件并处理隐私问题,您将有效地管理任何第三方SMTP服务器或者必须为您的基础设施投资自己的。

其他提示

如果我理解正确,用户正在他的电脑上运行该程序,在后台运行。

通知内容的最佳方式是,恕我直言,将程序最小化到托盘栏,点击一个小弹出窗口,打开一个每周报告的窗口。

希望这有帮助。

如果你确实让他们指定了自己的smtp服务器,请确保你输入了“发送测试电子邮件”。按钮在那里,所以他们可以测试它。我从经验中知道,在指定smtp服务器,用户名,密码时,用户总是输入错误的详细信息,因为某些smtp服务器需要用户名/密码而其他服务器不需要用户名,密码会更糟。

如果他们确实输入了错误的详细信息(或者他们发生了变化),那么您可能需要通过某种方式向他们发送旧报告,或者通过其他方式通知他们您无法发送电子邮件。

电子邮件很棒,但您可能还需要一种替代方法。

谷歌提供简单的smtp服务器窗口,可以这个

老实说,如果你每周只发送一次电子邮件是最好的选择,因为它不足以保证用户会在他的机器上接受其他类型的请求,这需要你写专有软件。

您也可以将其发布到irc频道,或编写MSN bot来向用户发送消息,如果用户离线,该消息将作为离线消息发送。

我仍然会收到电子邮件,经过试用和测试。

对于简单的SMTP服务器,我使用 hmail 。我将其配置为接受来自本地计算机的所有SMTP请求,无论源和目标是什么,并拒绝来自本地主机的任何SMTP请求。如果您有一个位于中心位置的应用程序,这将没有问题。

如果你想发布应用程序,你会有完全不同的情况;由于许多ISP对SMTP流量施加限制,您最好的选择是允许用户输入他们的邮件帐户详细信息,然后使用它来发送邮件。这将确保每个人都可以进入工作环境。然后使用为所选yoru语言存在的任何库或预制代码,使用这些设置发送电子邮件。

是否需要每周摘要?相反,如何使用 Growl (或等效的)来通知用户实时完成的任务,背景?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top