我有以下代码,但是创建的电子邮件没有设置任何类别。曾经。
Private Sub Application_Reminder(ByVal Item As Object)
.
.
.
Dim objMail As Outlook.mailItem
Set objMail = Application.CreateItem(olMailItem)
With objMail
.BodyFormat = olFormatHTML
.To = toContent
.CC = ccContent
.HTMLBody = messageContent
.Categories = Item.Categories
.Subject = Item.Subject
.Send
End With
.
.
.
End Sub
Item
对象是具有提醒集的Task对象。我将提醒保存在Application_Reminder子项中,并从中生成电子邮件。所有属性将从任务复制到电子邮件。在运行时,我只能在.Send
上找到一个断点,然后才能看到电子邮件的.Categories
属性设置正确。收到电子邮件后,该电子邮件已重置并且为空白。我使用的类别是标准的Outlook类别。
答案 0 :(得分:2)
为避免在外发电子邮件中释放潜在的私人信息,当您使用Exchange服务器邮箱时,类别不会与Outlook中的电子邮件一起发送。当您将类别与内部代码或可能令人尴尬的关键字一起使用时,收件人将看不到它们。
在发送邮件时,Exchange Server的传输规则(而不是Outlook)删除了类别。您可以检出放置在Sent Items
文件夹中的项目。
如果您需要在外发电子邮件上发送类别,则可以使用SendPersonalCategories
注册表项。
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences
DWORD: SendPersonalCategories
Value Data: 1 to keep categories on sent mail, 0 to not include categories
16.0代表Outlook版本(2016年)。
在Sending Categories on Email Messages文章中了解有关此内容的更多信息。