在 Outlook 回复中使用时,displayNewMessageForm 不起作用

displayNewMessageForm does not work when used inside Outlook reply

我有一个可在撰写和阅读模式下使用的 Outlook 加载项。如果用户通过撰写插件,最后,用户创建的一些内容将添加到电子邮件正文中。只有点击'NEW'.

才能看到compose插件

在读取场景中,我的加载项命令下拉列表中有 3 个选项 - 新建、回复、全部回复。用户通过加载项,与撰写模式相同,但最后我使用 displayNewMessageForm、displayReplyFormdisplayReplyAllForm 创建新电子邮件,具体取决于根据选择的操作。

到目前为止一切正常。问题来了:

当用户打开电子邮件并使用 Outlook 的 reply/replyall/forward 操作时,我的加载项会显示在新的 window 上。 (箭头只显示我的加载项图标) 现在,用户单击加载项完成必要的步骤,最后我再次使用 displayNewMessageForm、displayReplyForm 和 displayReplyAllForm 来创建新电子邮件。但此时,上述 API 调用失败。

错误信息:Office.context.mailbox.displayNewMessageForm 不是函数。 虽然我不认为它与代码相关,但这是那些 API 调用的代码。

Formdataparameters 格式正确,在读取模式下工作正常。

 if (selectedEmailType == 'New' || selectedEmailType == 'NewEmail') {
                                                Office.context.mailbox.displayNewMessageForm(parameters);
                                        }
                                        if (selectedEmailType == 'ReplyEmail') {
                                                Office.context.mailbox.item.displayReplyForm(
                                                        formdata,
                                                        function(asyncResult) {
                                                                console.log(asyncResult.value);
                                                                Office.context.ui.closeContainer();
                                                        }
                                                );
                                        } else if ((selectedEmailType == 'ReplyAllEmail')) {
                                                Office.context.mailbox.item.displayReplyAllForm(
                                                        formdata,
                                                        function(asyncResult) {
                                                                console.log(asyncResult.value);
                                                                Office.context.ui.closeContainer();
                                                        }
                                                );
                                        }

如果我对您的问题的理解正确,您正在尝试使用 displayReplyForm 和其他提到的 APIs,而加载项是 运行,同时撰写电子邮件。这些 API 只能在阅读模式下使用,在撰写模式下不可用。你可以find the documentation here。这些 API 的 "Applicable Outlook Mode" 是 "Read"。