DinosaurHunter:
私はマイクロソフトグラフREST APIを使用するEWSベースのシステムを再構築していると私は困っ複製持っています返信メール私はEWSの実装で持っていたような機能を。
EWS Iで作成することになりReplyToItemType
、元の電子メールを指定して添付しNewBodyContent
てのように:
$reply = new ReplyToItemType();
$reply->ReferenceItemId = new ItemIdType();
$reply->ReferenceItemId->Id = $this->message->ItemId->Id;
$reply->ReferenceItemId->ChangeKey = $this->message->ItemId->ChangeKey;
$reply->NewBodyContent = new BodyType();
$reply->NewBodyContent->BodyType = BodyTypeType::HTML;
$reply->NewBodyContent->_ = $this->body;
これは、新規メッセージ作成することになり、すでに添付前の電子メールの内容とを(すなわち、被験者を設定します"RE: original subject"
)
MSGraphで、私はこの機能を複製することはできていないようです...
私が使用していPOST /users/{id | userPrincipalName}/messages/{id}/reply
たエンドポイントを(そのURLにに返信するメッセージを指定します):
$this->graph = new Graph();
$this->graph->setAccessToken($token);
$graphRequest = $this->graph->createRequest(
'POST', '/users/' . $mailbox . '/messages/' . $exchange_id . '/reply'
);
$graphRequest->attachBody($body)->execute();
リクエストボディは、$body
、次のようになります。
array:1 [
"Message" => array:6 [
"sender" => array:1 [
"emailAddress" => array:1 [
"address" => "[email protected]"
]
]
"toRecipients" => array:1 [
0 => array:1 [
"emailAddress" => array:1 [
"address" => "[email protected]"
]
]
]
"ccRecipients" => []
"attachments" => []
"body" => array:2 [
"contentType" => "html"
"content" => "<p>Test</p>"
]
"subject" => "null"
]
]
しかし、それは件名「ヌル」とし、コンテンツを電子メールで送信します。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<p>test</p>
</body>
</html>
手動で以前の電子メールの内容や対象を添付しなくても、上記のようにEWSの機能を複製する方法はありますか?
ジョシュ:
代わりにメッセージオブジェクトを構築する、あなたが使用したいとしているコメントのプロパティを代わりに。テキスト文字列に設定し、それはあなたが期待するよう下に表示されて、元のメッセージから引用されたテキストを、応答メッセージの上部になります。