Delphi 如何检查Outlook是否已完成发送带有附件的电子邮件?
当用户需要以PDF格式向其客户发送报告时,我们的Delphi应用程序使用Outlook编程访问。通常不会出现问题,但也有一些报告,其中每个客户都有自己的副本,当客户数超过100时,Outlook会报告错误 我们确实发现了这个问题,因为Outlook使用自动编号,所以Outlook无法创建100多个相同附件名称的临时副本。这篇博客文章就是一个很好的例子 首选的解决方案是从OutlookSecureTempFolder中删除文件,但是在处理过程中我们不能这样做,因为有时Outlook在删除临时文件之前还没有完成发送电子邮件,这会导致类似的错误Delphi 如何检查Outlook是否已完成发送带有附件的电子邮件?,delphi,email,outlook,attachment,Delphi,Email,Outlook,Attachment,当用户需要以PDF格式向其客户发送报告时,我们的Delphi应用程序使用Outlook编程访问。通常不会出现问题,但也有一些报告,其中每个客户都有自己的副本,当客户数超过100时,Outlook会报告错误 我们确实发现了这个问题,因为Outlook使用自动编号,所以Outlook无法创建100多个相同附件名称的临时副本。这篇博客文章就是一个很好的例子 首选的解决方案是从OutlookSecureTempFolder中删除文件,但是在处理过程中我们不能这样做,因为有时Outlook在删除临时文件
在使用.Send之后,是否有办法知道Outlook何时实际发送了电子邮件,并且可以安全地删除临时文件?似乎没有任何回调或事件可供我们使用。那么,从一次会话中发送超过100封电子邮件可能不是一个好主意?如果在发送50封邮件后关闭Outlook实例,则它应该会关闭并正确清理所有内容。然后,您可以重新创建Outlook对象(启动新实例)并发送接下来的50封电子邮件,以此类推。不是吗?在开始下一个项目之前,请检查“发件箱”中是否没有任何项目?