Как начать работать с Yandex Cloud Postbox
С помощью этой инструкции вы создадите свой адрес и отправите проверочное письмо.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Создайте сервисный аккаунт и ключи
-
Создайте сервисный аккаунт
postbox-userи назначьте ему рольpostbox.sender. -
Создайте ключ для сервисного аккаунта:
- Для отправки письма с помощью AWS CLI создайте статический ключ доступа. Надежно сохраните идентификатор и секретный ключ. После того как вы закроете окно, параметры секретного ключа станут недоступны.
- Для отправки письма по протоколу SMTP создайте API-ключ. При создании API-ключа задайте область действия
yc.postbox.send. Надежно сохраните полученный секретный ключ. После того как вы закроете окно, параметры секретного ключа станут недоступны.
-
Сгенерируйте ключ для создания DKIM-подписи:
openssl genrsa -out privatekey.pem 2048
Создайте адрес
-
В консоли управления
выберите каталог, в котором создали сервисный аккаунт. Если вы создадите сервисный аккаунт и адрес в разных каталогах, при попытке отправить письмо возникнет ошибка. -
Выберите сервис Cloud Postbox.
-
Нажмите кнопку Создать адрес.
-
Укажите Домен, с которого будете отправлять письма. Домен может быть любого уровня.
-
Укажите Селектор:
postbox.Примечание
Вы можете указать селектор, отличный от
postbox. Указанный селектор должен использоваться только в одной ресурсной записи — той, которую вы создадите на шаге Пройдите проверку владения доменом. -
Скопируйте в поле Приватный ключ содержимое файла приватного ключа
privatekey.pem, созданного ранее. -
(Опционально) Настройте логирование.
-
Нажмите кнопку Создать адрес.
Пройдите проверку владения доменом
Чтобы отправлять письма, подтвердите владение доменом. После создания адреса на его странице сформируются настройки DKIM-подписи. Их нужно указать в качестве значений ресурсной записи, которую необходимо добавить в вашу доменную зону. Вы можете добавить запись у вашего регистратора или в сервисе Yandex Cloud DNS, если вы делегировали ваш домен Yandex Cloud.
Пример создания ресурсной записи в Yandex Cloud DNS
-
В консоли управления
выберите каталог, в котором находятся адрес и ваша доменная зона.Если у вас еще нет публичной зоны DNS, создайте ее.
-
Выберите сервис Cloud DNS.
-
Выберите вашу доменную зону.
-
Нажмите кнопку Создать запись.
-
В поле Имя укажите часть имени, сгенерированного при создании адреса, без домена в формате
<селектор>._domainkey. Напримерpostbox._domainkey.Примечание
Для других DNS-сервисов может потребоваться скопировать запись целиком. Итоговая запись должна иметь вид
<селектор>._domainkey.<домен>., напримерpostbox._domainkey.example.com.. -
В поле Тип выберите
TXT. -
В поле Значение скопируйте содержимое поля Значение из блока Подтверждение подписи. Обратите внимание, что значение записи нужно взять в кавычки, например:
"v=DKIM1;h=sha256;k=rsa;p=M1B...aCA8" -
Нажмите кнопку Создать.
-
Перейдите в сервис Cloud Postbox.
-
Выберите созданный адрес.
-
Нажмите кнопку Проверить адрес. Если запись верна, статус проверки на странице адреса изменится на
Success.
Ответы DNS-сервера кешируются, поэтому возможны задержки при обновлении ресурсной записи.
Отправьте проверочное письмо
Отправить проверочное письмо можно с помощью AWS CLI или из почтового клиента по протоколу SMTP.
Примечание
Для обеспечения безопасности передачи данных сервис Yandex Cloud Postbox поддерживает версии протокола TLS 1.2 и 1.3.
AWS CLI
-
Установите
утилиту командной строки AWS CLI. -
Настройте AWS CLI:
- Запустите интерактивную настройку профиля:
aws configure - Укажите полученный ранее идентификатор ключа сервисного аккаунта
postbox-user:AWS Access Key ID [****************ver_]: <идентификатор_ключа_сервисного_аккаунта> - Укажите полученный ранее секретный ключ сервисного аккаунта
postbox-user:AWS Secret Access Key [****************w5lb]: <секретный_ключ_сервисного_аккаунта> - Укажите имя региона по умолчанию kz1:
Default region name [kz1]: kz1 - Укажите формат выходных данных по умолчанию json:
Default output format [None]: json
- Запустите интерактивную настройку профиля:
-
Подготовьте два JSON-файла:
-
destination.json— файл со списком адресов назначения:{ "ToAddresses": ["test@example.com"] } -
message.json— файл с темой и содержимым письма:{ "Simple": { "Subject": { "Data": "Test message", "Charset": "UTF-8" }, "Body": { "Text": { "Data": "Test message. Hello!", "Charset": "UTF-8" } } } }
-
-
Отправьте письмо с помощью AWS CLI:
aws sesv2 send-email \ --from-email-address mail@example.com \ --destination file://destination.json \ --content file://message.json \ --endpoint-url https://postbox.cloud.yandex.net -
Проверьте почтовый ящик, указанный в
destination.json, — туда должно прийти письмо.
SMTP
-
В настройках SMTP-сервера вашего почтового клиента укажите следующие параметры:
Почтовый клиент поддерживает STARTTLS
Почтовый клиент не поддерживает STARTTLS, но поддерживает SMTPS
Имя сервера
postbox.cloud.yandex.netПорт
587465Имя пользователя
Идентификатор созданного API-ключа
Пароль
Секретная часть созданного API-ключа
-
Отправьте письмо с помощью вашего почтового клиента и убедитесь, что оно пришло на указанные адреса.