I'm writing an outlook add-in and need to create a new email with displayNewMessageForm and add an attachment. The problem is the URL to the attachment is protected so I need to download the file and attach it and I've tried using addFileAttachmentFromBase64Async as shown in this example:
The problem I'm having is the very first line of the code sample:
const mailItem = Office.context.mailbox.item;
This gets the currently selected mailItem in the mailbox - not the new compose form that was displayed with displayNewMessageForm. Can someone provide a sample that uses displayNewMessageForm then using addFileAttachmentFromBase64Async attaches a file such as a word document to that new compose form?
You cannot insert attachments using addFileAttachmentFromBase64Async
in Read Mode when using displayNewMessageForm
.
To achieve this, you need to add attachments in Compose Mode.
After calling displayNewMessageForm
, you are now in Compose Mode. You can add a new button in Compose Mode using MessageComposeCommandSurface for a Taskpane or an action button in your manifest.
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgComposeGroup">
<Label resid="GroupLabel"/>
<Control xsi:type="Button" id="TaskpaneButton">
<Label resid="TaskpaneButton.Label"/>
<Supertip>
<Title resid="TaskpaneButton.Label"/>
<Description resid="TaskpaneButton.Tooltip"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="Icon.16x16"/>
<bt:Image size="32" resid="Icon.32x32"/>
<bt:Image size="80" resid="Icon.80x80"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Taskpane.Url"/>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
Now here on Taskpane you can use the method of addFileAttachmentFromBase64Async
for adding new attachments