---
title: "encode(_:composeContext:completionHandler:)"
framework: mailkit
role: symbol
role_heading: Instance Method
path: "mailkit/memessageencoder/encode(_:composecontext:completionhandler:)"
---

# encode(_:composeContext:completionHandler:)

## Declaration

```swift
func encode(_ message: MEMessage, composeContext: MEComposeContext, completionHandler: @escaping @Sendable (MEMessageEncodingResult) -> Void)
```

```swift
func encode(_ message: MEMessage, composeContext: MEComposeContext) async -> MEMessageEncodingResult
```

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: func encode(_ message: MEMessage, composeContext: MEComposeContext) async -> MEMessageEncodingResult For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously.

## See Also

### Instance Methods

- [getEncodingStatus(for:composeContext:completionHandler:)](mailkit/memessageencoder/getencodingstatus(for:composecontext:completionhandler:).md)
