我有以下代码可以简单地向电子邮件添加文本:
msg = New EmailMessage(Service)
With msg
.From = New EmailAddress(Config("OutSender"))
.ToRecipients.Add(New EmailAddress(Config("OutRecip")))
.Subject = Config("OutSubject")
.Load(New PropertySet(ItemSchema.Body))
.Body.Text = Config("protMarking")
.Send()
End With
我得到错误:
您必须加载或分配此属性才能读取其值
在这一行:
.Body.Text = New MessageBody(Config("protMarking"))
这就是我尝试在此行加载 body 属性的原因:
.Load(New PropertySet(ItemSchema.Body))
但是我现在收到这个错误:
无法执行此操作,因为此服务对象没有 Id
经过广泛的谷歌搜索和大量查看我的代码后,我无法弄清楚。我不确定为什么新电子邮件没有 ID?
注意 Service
是对返回 ews 服务的属性的调用。我检查过它是否正常工作。
最佳答案
您应该只设置 Body
属性(而不是 Body.Text
)
在您的情况下,不需要调用 Load
。不过作为引用,它无法正常工作,因为您尚未在该服务上创建电子邮件消息。只有当您到达 Send
时才会发生这种情况(可能应该是 SendAndSaveCopy()
msg = New EmailMessage(Service)
With msg
.From = New EmailAddress(Config("OutSender"))
.ToRecipients.Add(New EmailAddress(Config("OutRecip")))
.Subject = Config("OutSubject")
.Body = Config("protMarking")
.SendAndSaveCopy()
End With
关于.net - EWS 设置 EmailMessage.Body.Text 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36453471/