Unlimited Wordpress themes, plugins, graphics & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. Email
Webdesign

Начало работы с Amazon Simple Email Service (SES)

by
Difficulty:IntermediateLength:MediumLanguages:

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

В этом уроке я расскажу о простой службе электронной почты Amazon (SES) и рассмотрю несколько способов ее использования. SES - это служба исходящей электронной почты, что означает, что она позволит вам отправлять электронные письма через нее.

Зачем вам нужна служба электронной почты? Ну, со многими хостинг-провайдерами, отправка большого количества электронных писем (возможно, у вас есть много клиентов, использующих ваш интернет-магазин), может быть проблемой, поскольку у хостов, как правило, есть на это свои ограничения. Стандартной альтернативой является использование Gmail для отправки электронных писем, однако она также имеет ограничения. Здесь на сцену выходит SES, поскольку он предназначен для этой цели. SES делает отправку электронных писем более надежной, и, используя немного магии, она также помогает вашим письмам избегать спам-папок.

Ценообразование

Когда вы подписываетесь на Amazon, вы можете использовать их свободный доступ в течение двенадцати месяцев. Свободный уровень даст вам доступ ко всем услугам Amazon, но с некоторыми ограничениями. Например, SES ограничена 2000 сообщениями в день, если вы выберете свой хост EC2.

В противном случае стоимость составляет 0,10 доллара за тысячу сообщений. Они рассматривают одно сообщение как одно сообщение для одного получателя. Поэтому, если вы отправляете одно электронное письмо на 1000 адресов электронной почты, это будет стоить вам 10 долларов.

Прикрепление файлов стоит 0,12 доллара США за 1 GB.

Варианты использования SES

В настоящее время существует два способа использования SES:

  • Простой протокол передачи почты (обычно известный как SMTP)
  • API SDK

Они работают по-разному; SMTP позволяет напрямую ссылаться на сервер электронной почты, тогда как метод API позволяет отправлять электронные письма через службу AWS SES. В этом уроке мы рассмотрим использование SMTP-сервера через плагин WordPress, а затем (для более смелых из вас) мы рассмотрим использование API SDK.

Быстрая настройка учетной записи SES

Прежде чем мы что-нибудь сделаем, нам понадобится учетная запись на SES. Я покажу вам, как подготовить свою учетную запись и отправить электронные письма с помощью консоли.

Подпишитесь на AWS

Прежде чем вы сможете использовать SES, вам необходимо зарегистрироваться в учетной записи Amazon Web Services - даже для бесплатного плана требуется кредитная карта. Чтобы зарегистрироваться, вам нужно перейти на http://aws.amazon.com/ses, следовать инструкциям на экране и выполнить несколько шагов подтверждения личности.

После регистрации у вас будет доступ ко всем услугам Amazon.

Проверьте свой адрес электронной почты

Независимо от того, используете ли вы службу в песочнице или в производстве, вам необходимо подтвердить свой адрес «From». Дополнительную информацию о проверке адресов электронной почты вы можете найти в справочной документации.

Запрос на доступ

Получив электронное письмо, вы можете запросить production доступ. Это позволит вам отправлять электронные письма на непроверенные адреса электронной почты. Количество писем, которые вы можете отправлять в день, будет увеличено.

Примечание. Разумно будет поиграть в режиме песочницы, прежде чем отправлять настоящие электронные письма.

Использование плагина WordPress

Хотя Amazon в настоящее время не имеет официального плагина, есть, кроме того, сторонние пакеты, которые могут выполнять эту работу. В этом примере мы будем использовать плагин под названием Amazon SES DKIM Mailer. Это великолепный плагин, совместимый с различными почтовыми службами, включая Amazon SES. Это означает, что если вы решили не придерживаться SES, вам не нужно менять свой сайт, просто детали подключения.

Этот плагин также поддерживает поддержку DomainKeys Identified Mail (DKIM). DKIM - Репутация; подписывая свои электронные письма, вы можете предотвратить попадание ваших писем в папку со спамом.

Установка

Взято из документации плагина на WordPress:

  1. Деактивируйте любые существующие плагины почтовых сообщений, чтобы избежать конфликтов.
  2. Разархивируйте zip-файл плагина внутри каталога /wp-content/plugins/ (или установите через встроенный установщик плагинов WordPress).
  3. Активируйте плагин через меню администратора Plugins в WordPress.
  4. Нажмите ссылку «Settings» рядом со ссылкой «Deactivate» (все еще на странице «Plugins») или нажмите ссылку Settings > Mail Settings, чтобы перейти на страницу настроек администратора плагина. Настройте параметры для вашей ситуации.

Как мы обсуждали ранее, для использования Amazon SES в реальной среде, вам необходимо подать заявку на Production Access. Без этого вы не сможете отправлять электронные письма на адреса, которые вы не контролируете.

DKIM

Чтобы воспользоваться DKIM, вам нужно создать открытый и закрытый ключ и загрузить свой закрытый ключ на свой сервер (мы рекомендуем называть его «.htkeyprivate» и поместить его в корневой каталог сайта и устанаить разрешения на 400 или 440).

Для пользователей Windows есть много генераторов онлайн-ключей, которые помогут сделать это. На сервере linux или Mac вы можете создавать свои собственные ключи DKIM с паролем «change-me», используя следующую команду терминала:

Для DKIM установите записи DNS TXT в что-то вроде:

Используйте встроенные тесты, чтобы проверить, что ваш блог может правильно отправлять (подписанные DKIM) электронные письма.

Конфигурация

Чтобы убедиться, что плагин настроен на работу с AWS SES, необходимо настроить несколько параметров (см. скриншот выше).

  • Отметьте Send e-mail via Amazon SES?
  • Добавьте свой ключ доступа AWS
  • Добавьте свой секретный ключ AWS
  • Убедитесь, что адрес «From» - это тот, который вы подтвердили ранее.

Теперь вы можете использовать Send a Test Message. Как только вы успешно получили электронное письмо, вы полностью готовы его использовать.

Учебник AWS SDK PHP

Для более продвинутых пользователей в этом разделе я расскажу вам, как отправить электронное письмо с помощью SDK. Это будет использование на PHP, однако SDK есть и для других языков.

Сначала вам нужно будет установить SDK. Для PHP есть несколько способов сделать это; Composer, Phar, Zip и PEAR. Для этого урока мы собираемся использовать Composer, который вам нужно будет установить в первую очередь. После установки Composer вы должны иметь доступ к нему из интерфейса командной строки (CLI).

Создайте файл в корне вашего проекта под названием «composer.json», здесь вы разместите свою конфигурацию. Затем добавьте:

Если вы использовали «composer.phar», вы можете выполнить php composer.phar install или composer install. В своем проекте вы можете добавить require '/path/to/sdk/vendor/autoload.php';.

Теперь, когда вы это сделали, у вас есть доступ ко всем API-интерфейсам продуктов, которые предоставляет AWS. Это означает, что теперь вы можете отправлять электронные письма. Так что вам нужно?

Вот пример:

Давайте проверим его. Сначала мы добавили использование пространства имен, чтобы код выглядел более чистым. Затем мы добавили файл Composer'а autoload.php.

Чтобы иметь возможность отправлять файл, мы должны создать клиента. Это делается с использованием клиентской фабрики SES. Он может иметь много разных настроек, но минимальный минимум, который нам нужен, - это ключ, секрет и регион. Вы можете найти ключ и секрет в IAM Management Console. Регион - это регион, который вы использовали для SES.

С этим у вас теперь есть настройка клиента и он готов к работе. Теперь вы можете использовать клиент для вызова sendEmail. Существуют так же и  другие методы, которые вы можете вызвать, и вы можете найти дополнительную информацию о них в справочной документации.

Метод sendEmail принимает единственный параметр, который является массивом. Этот массив требует определенных данных внутри него; например, source является обязательным и должен быть адресом, который вы подтвердили в своей учетной записи, чтобы разрешить отправку писем.

После того, как вы поместили электронные письма, которые хотите использовать, и добавили содержимое своего электронного письма, вы можете запустить скрипт,  который отправит ваше первое электронное письмо!

Вывод

Какой бы вариант реализации вы ни выбрали, я надеюсь, что этот урок вызвал ваш интерес и побудил вас взглянуть на Amazon SES! Если вы столкнетесь с любыми проблемами при использовании SES, не стесняйтесь просить совета в комментариях.

Дополнительные ресурсы

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.