Как Доставлять Клиентам Уведомления По Электронной Почте, Когда Невозможно Зарегистрировать Зону Обратного Dns



Доказательство концепции По такому названию довольно сложно понять «кому это вообще нужноЭ», поэтому начнем с небольшого предисловия.

Ни для кого не секрет, что интернет-провайдеры очень агрессивно относятся к малому бизнесу.

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

Монопольная ситуация в некоторой степени была исправлена с появлением таких стандартов, как LTE и 4G, но условия обслуживания по-прежнему остаются весьма далекими от гуманных.

Итак, данная статья посвящена тем, кто по тем или иным причинам вынужден взаимодействовать с провайдером, который предоставляет внешний IP-адрес, но не позволяет редактировать соответствующие записи обратного DNS. Наверняка многие знают, что в качестве требования к почтовым серверам помимо DKIM-записей и прочих проверок существует также обязательное наличие обратной DNS-записи.

В противном случае письма либо не придут вообще, либо попадут в папку «Спам».

Далее мы рассмотрим приведенные выше факты.



Основная идея

Какие варианты остаются? Во-первых, это прозрачные SMTP-прокси-сервисы.

Но в этом случае клиент будет получать письма со стороннего домена, что вполне естественно может вызвать недоверие клиента к вашему ресурсу.

Во-вторых, это волшебство.

Давайте подумаем о последнем.

Идея состоит в том, чтобы избавиться от вашего IP как от стартового реле.

В этом нам помогут услуги Gmail Hosted. Процедура настройки вашего домена для использования хостинга Gmail довольно проста и хорошо документирована.

Все подробности здесь: Google Apps для бизнеса .

Настроив свой домен для работы с сервисами Gmail Hosted и зарегистрировав соответствующий почтовый ящик для общения с клиентами (предположим, это [email protected]), вы очень хотите автоматически оповещать своих клиентов о событиях из кода вашего ресурса.

Но если в этой конфигурации мы попытаемся использовать учетную запись [email protected] в качестве ретранслятора, мы получим то же самое, что и оставили.

Нанимать сотрудника для входа в веб-интерфейс и отправки оповещений неразумно.



Много кода

В моем примере я использую ОС FreeBSD, поэтому «как есть» этот пример можно использовать только на ней.

Есть отличный консольный браузер elinks, который умеет многое, но не JavaScript. Независимо от того, насколько документация уверяет вас в обратном, это не так; elinks интерпретирует JavaScript только как язык сценариев действий пользователя.

Но, так или иначе, это не должно нас останавливать, потому что.

Gmail по-прежнему совместим с браузерами, не поддерживающими интерпретатор JavaScript. Как это будет работать:

  • Перехват встроенной в php функции mail()
  • Вывод аргументов функции mail() во внешнюю среду исполнения
  • Запуск elinks, авторизация в системе Gmail
  • Перейдите на страницу создания письма, заполните соответствующие поля письма.

  • Отправка формы и последующая отправка электронного письма
Сразу оговорюсь, что механизмы, которые я использовал, не претендуют на элегантность; моя задача была сделать так, чтобы оправка состоялась, а не оптимизировать процесс под большую нагрузку.

Нам понадобится:

  • PHP в сочетании с любым HTTP-сервером
  • Плагин APD для PHP (для перехвата базовой функции mail())
  • Python с модулем pyexpect (для диалога с процессом elinks)
  • Напрямую связывается с поддержкой сценариев на Lua.
  • Пакет sudo используется для предоставления процессу elinks разрешения на создание сокетов, которые ему необходимы для запуска.

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



Взять быка за рога



Перехват встроенной в PHP функции mail(), вывод аргументов функции mail() во внешнюю среду исполнения
В любую постоянно включенную область страницы вашего проекта добавьте следующий код:
   

function my_mail($args) {

Теги: #SMTP #Gmail #php #mail #pyexpect #elinks #1С-Битрикс
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.