В этой статье мы рассмотрим, как отправлять электронную почту из кода SwiftUI. Во-первых, мы собираемся создать кнопку для запуска отправки электронного письма:

Все, что мы делаем здесь, — это открываем URL-адрес электронной почты, и он запускает почтовый клиент и добавляет к нему получателей, тему и тело. Пользователи могут изменить любое из этих полей, прежде чем нажать кнопку отправки.

Осталось только создать функцию, которая создает URL-адрес электронной почты. Дополнительная проблема заключается в рассмотрении различных почтовых клиентов. На iPhone любой пользователь может удалить почтовый клиент Apple и использовать для этого другое приложение. Вот функция, которая обрабатывает несколько клиентов, вы можете рассмотреть возможность добавления большего количества клиентов, чем требуется для поддержки вашего бизнес-кейса.

Эта функция создает почтовый URL-адрес для первого доступного клиента, а если не находит, создает URL-адрес по умолчанию, предназначенный для клиента электронной почты Apple.

Это все, что нужно для отправки электронных писем с iOS 13 и более поздних версий. Нет, это не сработает для WatchOS. В настоящее время последняя версия WatchOS — 8, а взаимодействие по URL-адресу доступно только для телефонных номеров и SMS-сообщений.

Спасибо