Legacy mail plugins in Mac OS Sonoma

Hi,

In our organisation, we create and ship a plug-in for the MacOS Mail app along with our software package. We have heard that mail plugins are not supported in Mac OS Sonoma any more.

https://www.macrumors.com/2023/06/14/macos-sonoma-drops-legacy-mail-app-plug-ins/

Can anyone tell us more details about what changed, what is its impact and any way to achieve similar functionality as the mail plugins offer, going forward. We read that mailkit extensions are a new thing, we could also use any heads up on its capabilities and limitations (if known).

Thanks, Tathagata

Michael Tsai from SpamSieve wrote some thoughts about MailKit: https://mjtsai.com/blog/2021/06/23/mail-app-extensions/

If you want to see what functionalities MailKit offers, best to checkout Apple's sample app with Mail Extensions: https://developer.apple.com/documentation/mailkit/build_mail_app_extensions

A few more good follow up questions were posted by an anonymous user:

Do you know if the Mail extension allows the modification of the content of an email when composing or replying? When right clicking on the body of the mail (composer view), a contextual menu appears: is this possible to add an item in there with actions on the content of the email being composed?

if one of this is possible, can anyone suggest some guidance?

I need to be able to encrypt and decrypt message attachment files (only attachment, not whole mail) on demand, so I need to access attachment data while sending and receiving email. With a mailkit security extension(MEMessageSecurityHandler), I can see a message security handler can get the full RFC 822 message data during composing or receiving. It can then parse the mime data to access the mail attachments. but can I just encrypt the attachment and not the rest of mail data?

If I just encrypt the raw data for attachment and mark it as encrypted, Probably it would work fine if my decoder sits in the other end and decodes it appropriately?

Yep, you can parse out the attachments from the MIME data but for the decodedMessage(forMessageData:) function, Apple still leaves it to you to rebuild the whole RFC822 message. In my case where I need to edit the text/html MIME data, I need to pull out the text/html then rebuild the entire RFC 822 to return to decodedMessage(forMessageData:).

Accepted Answer
Legacy mail plugins in Mac OS Sonoma
 
 
Q