Мы настроили catch-all
адрес электронной почты на нашем сервере - например, catch-all@myserver.com
.Когда мы отправляем электронные письма пользователям, мы кодируем идентификатор сообщения и любую другую мета-информацию, которая может нам понадобиться, в адресе от.Вы можете запутать это или нет, в зависимости от ваших потребностей.Так, например, если у пользователя есть новое сообщение в системе, чей ID
равен 100
, адрес отправителя электронной почты, который мы отправляем пользователю, будет выглядеть примерно так: reply-to-message-100@myserver.com
.Убедитесь, что любой формат, который вы используете для адреса от, никогда не будет генерировать реальный адрес электронной почты на вашем почтовом сервере.
Итак, когда пользователь ответит на это сообщение, оно будет отправлено на входящую почту для всехнастроили.Отсюда у вас есть несколько вариантов, как обрабатывать это письмо.В прошлом мы написали небольшой запланированный сервис, который будет запускаться каждые несколько минут и проверять этот почтовый ящик на наличие новых писем, обрабатывать их по своему усмотрению (вставлять в БД, отправлять больше писем и т. Д.) И удалять сообщение, так как вы закончите.обрабатывать это.Это хрупко, поскольку все почтовые клиенты имеют несколько разные способы отправки электронных писем, и становится трудно анализировать различные клиентские сообщения.
Второй способ, которым мы это сделали, - это интеграция с http://postmarkapp.com/ - который имеет API входящей электронной почты, который скоро должен стать общедоступным (мы попали в бета-версию).Вы настроили бы все таким же образом, только перенаправив универсальный адрес вашего сервера на входящий адрес почтовой марки, который вы настроите с помощью Postmark, а затем Postmark выполнит обработку сообщения и вызовет веб-крючок, который вы также настроили, чтобы сделать то, что выкак с полученным объектом.
Я настоятельно рекомендую Postmark, но по большей части даже метод homespun работал эффективно.
-M