如何在邮件合并中请求已读回执?
How do I request a Read Receipt in a mail merge?
我正在使用来自 this github 的 VBA 代码进行邮件合并操作。
它基本上包含一个循环,该循环应从 Outlook .oft 模板文件创建名为 OutlookMailItem
的对象,并使用 Excel 文件中的数据填充模板字段。
我设置了 OutlookMailItem
的 属性 ReadReceiptRequested = True
,但是发送到我的地址的测试邮件没有显示任何确认请求。
创建 OutlookMailItem 的步骤:
Dim OutLookApp As Object
Dim OutLookMailItem As Object
'....
Do Until (a condition)
Set OutLookApp = CreateObject("Outlook.application")
'...
Set OutLookMailItem = OutLookApp.CreateItemFromTemplate(workFile)
With OutLookMailItem
'...
.ReadReceiptRequested = True
'...
End With
'...
Loop
'where workfile is an existing and already initialised file
也许 ReadReceiptRequested = True
不起作用,因为 OutlookMailItem 不完全是 MailItem?
我设法通过编辑 outlook 模板文件实现了我的目的:在 FIle--> 选项面板中,我取消标记选项“始终请求已读回执”,并仅标记请求已读回执的标记单个消息,当然它适用于宏的所有邮件。
我让这个问题仍然悬而未决,因为我有兴趣用 VBA.
实现一个解决方案
首先,不需要在循环中创建新的Outlook Application实例:
Do Until (a condition)
Set OutLookApp = CreateObject("Outlook.application")
我建议创建一次 Application 实例,然后在每次迭代中重新使用它。
Application.CreateItemFromTemplate function creates a new Microsoft Outlook item from an Outlook template (.oft) and returns the new item. Read more about this method in the How To: Create a new Outlook message based on a template 篇文章。因此,返回的对象很可能是 MailItem
。
收件人打开原始电子邮件时收到的 MailItem.ReadReceiptRequested property returns a boolean value that indicates true
if a read receipt has been requested by the sender. You may expect a ReportItem object。 ReportItem
对象类似于 MailItem
对象,它包含来自邮件传输系统的报告或错误消息。
我正在使用来自 this github 的 VBA 代码进行邮件合并操作。
它基本上包含一个循环,该循环应从 Outlook .oft 模板文件创建名为 OutlookMailItem
的对象,并使用 Excel 文件中的数据填充模板字段。
我设置了 OutlookMailItem
的 属性 ReadReceiptRequested = True
,但是发送到我的地址的测试邮件没有显示任何确认请求。
创建 OutlookMailItem 的步骤:
Dim OutLookApp As Object
Dim OutLookMailItem As Object
'....
Do Until (a condition)
Set OutLookApp = CreateObject("Outlook.application")
'...
Set OutLookMailItem = OutLookApp.CreateItemFromTemplate(workFile)
With OutLookMailItem
'...
.ReadReceiptRequested = True
'...
End With
'...
Loop
'where workfile is an existing and already initialised file
也许 ReadReceiptRequested = True
不起作用,因为 OutlookMailItem 不完全是 MailItem?
我设法通过编辑 outlook 模板文件实现了我的目的:在 FIle--> 选项面板中,我取消标记选项“始终请求已读回执”,并仅标记请求已读回执的标记单个消息,当然它适用于宏的所有邮件。
我让这个问题仍然悬而未决,因为我有兴趣用 VBA.
实现一个解决方案首先,不需要在循环中创建新的Outlook Application实例:
Do Until (a condition)
Set OutLookApp = CreateObject("Outlook.application")
我建议创建一次 Application 实例,然后在每次迭代中重新使用它。
Application.CreateItemFromTemplate function creates a new Microsoft Outlook item from an Outlook template (.oft) and returns the new item. Read more about this method in the How To: Create a new Outlook message based on a template 篇文章。因此,返回的对象很可能是 MailItem
。
收件人打开原始电子邮件时收到的 MailItem.ReadReceiptRequested property returns a boolean value that indicates true
if a read receipt has been requested by the sender. You may expect a ReportItem object。 ReportItem
对象类似于 MailItem
对象,它包含来自邮件传输系统的报告或错误消息。