---
title: Message UI
framework: Message UI
role: collection
role_heading: Framework
platforms: [iOS 3.0+, iPadOS 3.0+, Mac Catalyst 13.0+, visionOS 1.0+]
path: messageui
---

# Message UI

Create a user interface for composing email and text messages, so users can edit and send messages without leaving your app.

## Overview

Overview The Message UI framework provides specialized view controllers for presenting standard composition interfaces for email and SMS (Short Messaging Service) text messages. Use these interfaces to add message delivery capabilities, without requiring the user to leave your app. To display a composition interface, present the corresponding view controller modally from your app. Once presented, the user has the option to customize the contents before sending or canceling the message. Your custom delegate object then handles the dismissal of the view controller based on the user’s action. For information on how to present and dismiss view controllers, see View Controller Programming Guide for iOS. important: The view controllers in this framework provide methods for determining if you can send a given message type on the current iOS device. If you can’t send a message, don’t display the corresponding view controller.

## Topics

### Email composition interface

- [MFMailComposeViewController](messageui/mfmailcomposeviewcontroller.md)

### Message composition interface

- [MFMessageComposeViewController](messageui/mfmessagecomposeviewcontroller.md)

### Classes

- [MFComposeAssistantViewController](messageui/mfcomposeassistantviewcontroller.md)
- [MFMailDraft](messageui/mfmaildraft.md)
- [WritingAssistant](messageui/writingassistant.md)

### Protocols

- [MFComposeAssistantViewControllerDelegate](messageui/mfcomposeassistantviewcontrollerdelegate.md)

### Enumerations

- [MFMailComposeControllerDeferredAction](messageui/mfmailcomposecontrollerdeferredaction.md)
