
iOS: отправляем почту по SMTP с нуля на сокетах
kymacat 12 минут назад iOS: отправляем почту по SMTP с нуля на сокетах 17 мин 43 Swift * iOS * Разработка мобильных приложений * Несмотря на активное использование мессенджеров, электронная почта все еще занимает...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: kymacat 12 минут назад iOS: отправляем почту по SMTP с нуля на сокетах 17 мин 43 Swift * iOS * Разработка мобильных приложений * Несмотря на активное использование мессенджеров, электронная почта все еще занимает весомую долю в коммуникации, особенно в рабочей среде, из-за этого не исключена необходимость в отправке почтовых сообщений прямо с iOS приложения. В данной статье мы ознакомимся с протоколами, по которым работает почта. Сфокусируемся на реализации протокола для отправки почтовых сообщений (SMTP) на низком уровне (BSD сокеты).
И, используя собственный сетевой слой для работы с почтой, реализуем iOS клиент для отправки почтовых сообщений через любые почтовые провайдеры (ex: gmail, yandex, mail). ОглавлениеПо каким протоколам работает электронная почта? Разбираем протокол SMTP через терминалПишем iOS реализацию по работе с SMTPРезультатПолезные ресурсыЭту статью можно воспринимать обособленно, но в ней я не буду детально останавливаться на слоях сетевого стека, TCP/UDP сокетах, интерфейсе BSD сокетов (в основе которых будет итоговая реализация).
Технические детали
Всех этих аспектов я уже касался в статье про самописный HTTP сервер на сокетах. Эту статью можно воспринимать как некого рода продолжение изучения реализации "с нуля" сетевых протоколов Application уровня на swift. В прошлой части сделали HTTP, тут будем работать с SMTP, о котором и будет дальнейшее повествование.
По каким протоколам работает электронная почта? Работая с мобильными клиент-серверными приложениями в качестве протокола application слоя мы чаще всего работаем с HTTPS. Этот протокол позволяет как получать данные с сервера, так и отправлять данные ему же.
С почтой все немного сложнее. На сегодняшний день существует три основных протокола по работе с почтой: SMTP, POP3 и IMAP. POP3 и IMAP - это протоколы только для получения почтовых сообщений с сервера.
Отраслевые последствия
SMTP же - протокол для отправки почтовых сообщений. Рассматривая протоколы получения, POP3 появился первым, но сегодня считается более устаревшим и менее функциональным, из-за этого он теряет свои позиции и практически нигде не используется. POP3 проектировался для перекачки сообщений с сервера на клиент.
Тогда еще у каждого человека не было десятка девайсов, между которыми требовалась синхронизация, из-за этого протокол лишен множества необходимых на сегодняшний день функций (например, возможность пометить сообщение как прочитанное). Современная замена POP3, спроектированная под хранение почты на сервере и получение сообщений с множества устройств, с различными возможностями настройки (работа с папками, флаги сообщений, ... Протокол только для отправки почтовых сообщений (от клиента к серверу, либо между серверами).
Тут нет разделения, как с протоколами получения. Используется широко по сегодняшний день. Для реализации полноценного почтового клиента требуется связка протоколов IMAP/SMTP.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




