Мне нужно разработать службу ретрансляции SMTP с системой отслеживания, у меня уже есть система маркетинга по электронной почте, и было легко отслеживать доставку, отскок и клики, когда пользователь создает электронную почту в моем интерфейсе, а сообщения отправляются с моего сервера, поэтому я могу отслеживать сообщения из exim db, а также захватывать идентификатор сообщения перед отправкой, так как я делаю идентификатор сообщения в функции PHPmailer.
Однако служба ретрансляции SMTP работает несколько иначе, я дал своему пользователю учетную запись электронной почты и пароль, и он использует эти учетные данные на своей CMS или веб-сайте для отправки своей почты через мой сервер.
Я безуспешно исследовал, как встроить PHP-код в SMTP-соединение, как в этом потоке.
Если бы служба SMTP работала как система веб-сайтов для входа, я мог бы легко это сделать, однако я даже не знаю, как выполняется проверка учетных данных SMTP, и я не совсем уверен, смогу ли я смоделировать фиктивный SMTP-сервер так что мои пользователи могут подключиться к моему сценарию, и если условия будут выполнены, мой сценарий подключит их к конечному SMTP-серверу, например так:
Я был бы очень признателен за любую помощь, мне просто нужно понять, как настроить свой exim-сервер с помощью php или создать свой собственный фиктивный smtp-сервер, чтобы я мог построить эту систему отслеживания, большое спасибо
Большинство почтовых серверов позволяют передавать входящие сообщения во внешний скрипт, который может быть написан на любом языке. Я использовал для этого PHP раньше, хотя lua, вероятно, лучший выбор в этом контексте. Тем не менее, то, что вы описываете, похоже на то, что postfix делает с транспортными картами, то есть такая функциональность, вероятно, уже встроена в ваш почтовый сервер, если вы немного покопаетесь в документах.
В качестве альтернативы, посмотрите на почтовый сервер со встроенным скриптом, такой как Haraka, который написан на Javascript. Вы можете заставить его делать всякие странные вещи, в любой точке SMTP-конвейера, в любом направлении, и производительность тоже довольно хорошая.
Других решений пока нет …