---
title: MEExtension
framework: mailkit
role: symbol
role_heading: Protocol
path: mailkit/meextension
---

# MEExtension

A type that provides objects for manipulating email messages, such as performing actions on messages or blocking content when users view messages.

## Declaration

```swift
@MainActor protocol MEExtension : NSObjectProtocol
```

## Overview

Overview To implement an app extension, you provide an object that conforms to the MEExtension protocol. The MEExtensionCapabilities key of your extension’s Info.plist defines the capabilities that you support, as follows: <key>NSExtensionAttributes</key> <dict>     <key>MEExtensionCapabilities</key>     <array>         <string>MEContentBlocker</string>         <string>MEMessageActionHandler</string>         <string>MEComposeSessionHandler</string>         <string>MEMessageSecurityHandler</string>     </array> </dict> For each capability that your extension defines, you provide an object that implements the capability. MailKit uses the following methods to request the object for a given capability. The capability also specifies a protocol that the handler implements.  |  |   |  |   |  |   |  |   |  |

## Topics

### Blocking Content

- [handlerForContentBlocker()](mailkit/meextension/handlerforcontentblocker().md)

### Performing Actions on Messages

- [handlerForMessageActions()](mailkit/meextension/handlerformessageactions().md)

### Enhancing the Compose Window

- [handler(for:)](mailkit/meextension/handler(for:).md)

### Encrypting and Signing Messages

- [handlerForMessageSecurity()](mailkit/meextension/handlerformessagesecurity().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Essentials

- [Build Mail App Extensions](mailkit/build-mail-app-extensions.md)
