email — Как встроить php-код на SMTP-сервер ретрансляции

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

Однако служба ретрансляции SMTP работает несколько иначе, я дал своему пользователю учетную запись электронной почты и пароль, и он использует эти учетные данные на своей CMS или веб-сайте для отправки своей почты через мой сервер.

Я безуспешно исследовал, как встроить PHP-код в SMTP-соединение, как в этом потоке.

  1. CMS или веб-сайт входит в smtp.anydomainxxyy.com, чтобы отправить электронное письмо
  2. Во время отправки мне нужно захватить идентификатор сообщения, электронное письмо отправителя, добавить метку куда-нибудь для дальнейшего отслеживания и записать это в базу данных. Также я отслеживаю количество отправленных сообщений
    1. Кроме того, во время отправки мне нужно проверить, остались ли сообщения для отправки, если не осталось сообщений, запретить отправку.
    2. Если есть доступные сообщения, продолжите отправку.
    3. Позже, с идентификатором захваченного сообщения, я проверяю в базе данных exim статус доставки.

Если бы служба SMTP работала как система веб-сайтов для входа, я мог бы легко это сделать, однако я даже не знаю, как выполняется проверка учетных данных SMTP, и я не совсем уверен, смогу ли я смоделировать фиктивный SMTP-сервер так что мои пользователи могут подключиться к моему сценарию, и если условия будут выполнены, мой сценарий подключит их к конечному SMTP-серверу, например так:

  1. Пользователь подключается к dummysmtp.domainxxyy.com (подключается, поэтому скрипт позволяет сказать «smtp.php»)
  2. Сценарий smtp.php проверяет учетные данные, добавляет 1 сообщение к mailcounter, считает, остались ли сообщения доступными, и если ДА, подключается к smtp.domainxxyy.com (конечный почтовый сервер) и отправляет электронное письмо.

Я был бы очень признателен за любую помощь, мне просто нужно понять, как настроить свой exim-сервер с помощью php или создать свой собственный фиктивный smtp-сервер, чтобы я мог построить эту систему отслеживания, большое спасибо

0

Решение

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

В качестве альтернативы, посмотрите на почтовый сервер со встроенным скриптом, такой как Haraka, который написан на Javascript. Вы можете заставить его делать всякие странные вещи, в любой точке SMTP-конвейера, в любом направлении, и производительность тоже довольно хорошая.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]