2016-04-06 10 views
1

私は単に電子メールにテキストを追加するには、次のコードをしている:この行にEWS設定EmailMessage.Body.Textはエラー

You must load or assign this property before you can read its value

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"))

これは私が試した理由です私は今、このエラーを取得していますが

.Load(New PropertySet(ItemSchema.Body))

This operation can't be performed because this service object doesn't have an Id

広範囲のグーグルと私のコードを見て、多くの後、私は姿をカントOこのライン上の身体のプロパティを読み込みますそれを出す。なぜ新しい電子メールメッセージにIDがないのかわからないのですか?

注:Serviceは、ewsサービスを返すプロパティを呼び出します。私はこれが適切に動作していることを確認しています。

答えて

2

は、あなただけのBodyプロパティを設定する必要があります(ないBody.Text

Loadへの呼び出しは、あなたの場合には必要ありません。しかし、参考にして、あなたはまだサービス上に電子メールメッセージを作成していないので動作していません。あなたはおそらく@PaulGの答えと、その前にいくつかの試行錯誤の作業を使用して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 
0

をあるべきである(Sendに取得するときにのみ問題が発生し、これが私の解決策だった。

msg = New EmailMessage(Service) 
With msg 
    .From = New EmailAddress(Config("OutSender")) 
    .ToRecipients.Add(New EmailAddress(Config("OutRecip"))) 
    .Subject = Config("OutSubject") 
    .Body = New MessageBody(Config("protMarking")) 
    .SendAndSaveCopy() 
End With 

このラインで大きな変更/修正である:

.Body = New MessageBody(Config("protMarking"))