Vba outlook mailItem.sent参数如何工作?

Vba outlook mailItem.sent参数如何工作?,vba,outlook,outlook-addin,Vba,Outlook,Outlook Addin,我正在使用Excel VBA发送邮件: With OutlookApplication.CreateItem(olMailItem) .Subject = topic .to = emailAddress .HTMLBody = content .Send msgbox .Sent end with where.sent在我的计算机上引发错误。我试着问为什么: 我决定忽略这个错误,并假设电子邮件引用在发送后消失。 现在更奇怪的是,一些客户报告说.Send返回False,而

我正在使用Excel VBA发送邮件:

With OutlookApplication.CreateItem(olMailItem)
  .Subject = topic
  .to = emailAddress
  .HTMLBody = content
  .Send
  msgbox .Sent
end with
where
.sent
在我的计算机上引发错误。我试着问为什么:

我决定忽略这个错误,并假设电子邮件引用在发送后消失。 现在更奇怪的是,一些客户报告说.Send返回False,而实际上是发送电子邮件


有人知道为什么
.sent
存在吗?

调用
MailItem.Send
后唯一允许的操作是释放对
MailItem
变量的引用

即使您可以这样做,
Sent
属性仍然是false:消息提交是一个异步过程。Outlook将邮件移动到发件箱文件夹,并将其交给传输提供商。异步发送邮件后,将在“已发送邮件”文件夹中创建一封新邮件,并填充所有与发件人相关的属性。该(新)消息的
Sent
属性为true