Как начать работать с 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, если вы делегировали ваш домен.
Пример создания ресурсной записи в Cloud 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.
AWS CLI
-
Установите
утилиту командной строки AWS CLI. -
Настройте AWS CLI:
- Запустите интерактивную настройку профиля:
aws configure
- Укажите полученный ранее идентификатор ключа сервисного аккаунта
postbox-user
:AWS Access Key ID [****************ver_]: <идентификатор_ключа_сервисного_аккаунта>
- Укажите полученный ранее секретный ключ сервисного аккаунта
postbox-user
:AWS Secret Access Key [****************w5lb]: <секретный_ключ_сервисного_аккаунта>
- Укажите имя региона по умолчанию ru-central1:
Default region name [ru-central1]: ru-central1
- Укажите формат выходных данных по умолчанию 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-сервера вашего почтового клиента укажите следующие параметры:
- имя сервера —
postbox.cloud.yandex.net
; - порт —
587
; - имя пользователя —
API_KEY
; - пароль — секретная часть созданного API-ключа.
Примечание
Почтовый клиент должен поддерживать расширение STARTTLS
для шифрования передаваемых писем. - имя сервера —
-
Отправьте письмо с помощью вашего почтового клиента и убедитесь, что оно пришло на указанные адреса.