.net - EWS 设置 EmailMessage.Body.Text 错误

标签 .net vb.net exchangewebservices ews-managed-api

我有以下代码可以简单地向电子邮件添加文本:

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/

相关文章:

c# - 在 c# .net 中运行线程

c# - 无法从我的 .Net Web 服务返回对象

mysql - 将图像保存到 mysql 数据库时出现无法将类型 'System.Byte[]' 的对象转换为类型 'System.IConvertible' 错误

c# - 计算平均速度

java - 使用 Oauth2 的 EWS java api

C# 标题图片

c# - ExecuteReader(CommandBehavior.CloseConnection) 会始终关闭连接吗?

mysql - 如何使用vb.net检查记录是否存在,如果不存在则插入?

c# - 从 exchange 服务器读取外出办公室供其他用户使用 C#

Java 客户端、SOAP 和 Exchange Web 服务 (EWS)