
Changes to MAPI impacting sendEmail
We've uncovered a change for the 'new outlook' (compared to the 'classic' outlook) that negatively impacts our sendEmail() function.
sendEmail() is a well named function that allows a developer to send an email to any recipient. Here are a few notes on the features of this function:
The MAPI protocol is no longer supported in the new Outlook. A quick google search shows that Microsoft hasn't announced any plans to return the MAPI functionality to the new Outlook. We have recently been made aware of the issue for ourselves after being notified by the developer community. After some internal discussion, we've decided to do the following:
sendEmail() is a well named function that allows a developer to send an email to any recipient. Here are a few notes on the features of this function:
- sendEmail() allows for programmatic generation of subject line and contents of an email
- sendEmail() generally forces a UI to pop up for the user to understand an email is being sent, but this can be bypassed
- sendEmail() utilizes the MAPI protocol for Outlook (classic). This allows emails to be sent from the user machine in a very simple way
- sendEmail() fails silently when an email does not send
The MAPI protocol is no longer supported in the new Outlook. A quick google search shows that Microsoft hasn't announced any plans to return the MAPI functionality to the new Outlook. We have recently been made aware of the issue for ourselves after being notified by the developer community. After some internal discussion, we've decided to do the following:
- We will be writing some sort of email-sending support as a function for our developers to use
- This function will not allow emails to be sent without explicit confirmation from the email client. Our users should both consent and be aware that emails are being sent
This work will take some time, but we are currently unsure how long it will take or what the target date will be. In the meantime, there are is a workaround: Suggest that your users switch to the classic Outlook.
There are around 20 extensions we've uncovered in the ecosystem referencing this function directly. For the most part, the functionality has been used to generate a support issue for an extension to go directly back to the manufacturer in some way. There are a few cases where sendEmail() is critical to placing orders.
If you have any further questions please reach out to developer support: https://configura.atlassian.net/servicedesk/customer/portal/3
