C#延迟发送邮件我们正在写一个函数,可以在x天内给客户发送提醒邮件,想知道是否可以在Outlook中延迟发送邮件之类的东西(新邮件>选项按钮>以前不可用)在C#中。有谁知道这样做的方法吗?一种可能性是创建一个在计划任务上运行的服务来处理“待处理”邮件。您可以将待处理的邮件存储在SQL数据库中。(戴夫详述)如果你想避免“真正的”服务,这篇文章看起来很有意义http://www.codeproject.com/KB/aspnet/ASPNETService.aspx如果你想提交电子邮件到SMTP服务器以保持天,服务器必须支持这个功能。但是,我建议不要这样做。如果您在丢失电子邮件时遇到困难,可能很难找到。这是我正在尝试做的事情:通过创建表格条目来安排系统中的电子邮件。在表中包含一个“SendDate”列,您可以在其中设置日期编写一个每15分钟(例如)唤醒一次的Windows服务,并在没有的情况下在该表中发送SendDate。这样做的方法是让您的应用程序将电子邮件写入队列(可能是数据库、文件、MSMQ等),然后编写一个单独的进程,稍后从该队列读取电子邮件并发送它。据我所知,SMTP协议没有任何“延迟发送”功能。此外,您在Outlook中提到的功能实际上只是将其保存在客户端的发件箱中,直到指定日期为止,因此它是客户端功能,而不是服务器端功能。SmtpClient是一个非常愚蠢的客户端并且不支持这个-无论是同步还是异步发送都是即时的。您可以使用Exchange集成来执行此操作。但是,我不确定为Exchange公开了哪些API。最简单的方法是将消息连同发送时间一起保存在数据库表中,并让离线进程定期扫描该表并查找发送时间已过且未标记为已发送的消息。以上就是C#学习教程:C#延迟发送邮件分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
