Отслеживайте электронные письма, отправленные SMTP с PHP - PullRequest
1 голос
/ 15 ноября 2011

Я разрабатываю небольшой портал отправителей электронной почты, который позволяет зарегистрированным пользователям отправлять некоторые объемы писем.Я использую безопасное соединение с SMTP-сервером, установленным на локальном хосте (я имею в виду тот же сервер Apache и PHP), для отправки электронных писем, и я внедрил систему для контроля за количеством отправленных электронных писем (я планирую отправлять электронные письма нане отправляйте слишком много писем одновременно).

Я использую класс PHPMAiler для отправки писем и собственный класс для их планирования.

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

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

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

К сожалению, невозможно отследить электронную почту после того, как SMTP-сервер отправит ее почтовому серверу получателей.

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

Надеюсь, это поможет.

1 голос
/ 15 ноября 2011

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

Другой вариант заключается в том, что у вас есть контроль над отправляющим сервером.Если сервер, на который вы отправляете, является сервером, который жалуется, например, на то, что пользователь отсутствует, то вы получите один из кодов ошибки SMTP.Коды ошибок SMTP в значительной степени противоположны HTTP-кодам, в которых 500 - это жесткие отскоки (постоянные ошибки, такие как пользователь, здесь не известен) и 400 отказов (временные ошибки.)маленькое изображение (которое будет отображаться через ваш php-скрипт) для отслеживания открытий электронной почты, очевидно, это не поможет, если пользователь заблокирует изображения, но может дать представление о том, что пользователь прочитал электронные письма (вместе с отслеживанием ссылок)1005 *

...