Что это
SMTP нужен приложению для передачи подготовленного письма почтовому серверу. Например, сервис может отправить сотруднику уведомление о готовом отчете. Для входящей почты используют другие интерфейсы: IMAP или API почтового провайдера.
SMTP - протокол, а не отдельный сервис с универсальной ценой и API-ключом. Адрес сервера, порт, способ шифрования, авторизация и лимиты определяются вашим провайдером. Поддержка логина с паролем не гарантирована: могут понадобиться OAuth или пароль приложения.
В сценарии с ИИ сначала подготовьте черновик и проверьте получателя, тему, вложения и текст. Отправка должна быть отдельным действием с понятными правилами согласования. Для первого теста достаточно письма самому себе, без клиентской рассылки.
Ключевые параметры
- Категория: Автоматизация
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Нет
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Стандартный протокол поддерживается многими почтовыми системами.
- В Python есть встроенный клиент smtplib без отдельного SMTP-SDK.
- Письмо можно сформировать и проверить до сетевой отправки.
- Можно использовать SMTP-сервер своего провайдера или собственной инфраструктуры.
Ограничения
- Порты, авторизация и квоты отличаются у провайдеров.
- Принятие письма SMTP-сервером не равно доставке или прочтению.
- Шифрование соединения не заменяет согласование получателя и содержимого.
- Повтор после неопределенного сетевого сбоя может создать дубликат письма.
Как использовать
1. Подготовка. Найдите официальные SMTP-настройки своего провайдера: host, порт, режим TLS и допустимую авторизацию. Подготовьте отдельные учетные данные интеграции и разрешенный адрес отправителя. Получатель первого теста - ваш собственный ящик.
2. Настройка. Сформируйте EmailMessage из Python email.message: From, To, Subject и set_content с русским текстом. До отправки выведите безопасный черновик и проверьте адреса и кодировку. Учетные данные берите из окружения, не из текста промпта.
3. Первый результат. По настройкам провайдера используйте smtplib.SMTP_SSL с ssl.create_default_context() для TLS с начала соединения либо SMTP с starttls(context=...) для согласованного STARTTLS. Авторизуйтесь поддерживаемым способом и выполните send_message только после проверки черновика. Не отключайте проверку сертификата.
4. Проверка. Проверьте исключения и отказанные адреса, затем найдите письмо в собственном ящике и папке спама. При частичном отказе не отправляйте письмо повторно уже принятым адресатам. Для рабочей отправки проверьте правила домена и провайдера, лимиты, журнал и поведение при неизвестном результате сбоя.
Примеры сценариев
- Отправить себе тестовое уведомление без вложений.
- Уведомить сотрудника о готовом внутреннем отчете.
- Передать согласованный черновик одному разрешенному получателю.
Доступ и оплата
- Модель оплаты: Не уточнено
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
У самого SMTP нет бесплатного или платного плана: условия задает почтовый сервис. Некоторые сети блокируют почтовые порты, а провайдеры ограничивают отправку. Работа из России зависит от выбранного сервера; универсальное обещание доступа некорректно.
Когда не подходит
- Читать входящие письма
- Гарантировать доставку во входящие
- Запускать массовую рассылку без правил провайдера
Альтернативы
Gmail API и Microsoft Graph Mail подходят для соответствующих почтовых аккаунтов и OAuth. Brevo API - отдельный сервис отправки со своими тарифами и правилами. IMAP не заменяет SMTP для отправки: он нужен для доступа к входящей почте.