Задать вопрос
guvijur
@guvijur
Практик, кинестетик, ретроград и консерватор

Как с помощью PHP организовать обмен письмами так, чтобы выделять переписку в рамках одного обращения?

Есть портал, на портале есть раздел приёма и обработки обращений, которые поступают по почте на определённый почтовый ящик.
Все письма делим на два типа: НОВЫЕ и ОТВЕТНЫЕ.
ОТВЕТНЫЕ - это те, которые пришли В ОТВЕТ на наше письмо (или на наш ответ на их предыдущее письмо).
НОВЫЕ - это, соответственно, просто новое письмо.

Необходимо так организовать коммуникацию с каждым адресатом, чтобы НОВОЕ письмо от него обрабатывалось как новая задача (запрос, назовите как угодно), а ОТВЕТНОЕ письмо становилось как-бы комментарием В ДЕРЕВЕ ПЕРЕПИСКИ В РАМКАХ ИЗНАЧАЛЬНОГО НОВОГО КОНКРЕТНОГО ПИСЬМА.
Про новое, думаю, понятно, а вот про вторую часть поясню на примере:
1. Прислал адресат запрос по почте. Сервак через imap_open обработал ящик, обнаружил там новые письма и записал его в БД, после чего на фронтенде в нужной таблице это обращение появилось.
2. Манагер, кликает на это обращение, читает описание (описание - это текст письма) и у него возникают вопросы или готовый ответ. Он нажимает кнопку ответить, пишет текст, нажимает "Отправить". Письмо уходит, а текст его с темой (или без) сохраняется в БД и выводится в рамках запроса (пункт 1) по открытию этого запроса.
3. Адресат получает ответ от манагера в свою почту и пишет свой ответ. Отправляет.
4. Сервак через php imap_open видит письмо и вот тут вопрос - "Как понять, это новое письмо или это ответ на посланное нами?"

Единственное, что придумал я - это при получении каждого нового письма генерировать ID-шник и добавлять его в тему обращения, сохраняя при ответе и проверяя при получении наличие в теме письма этого ID. Всё хорошо, но есть одно но - "А если адресат по какой-то своей причине сотрёт тему ответного письма и напишет другую? Ну мало ли..." В этом случае наша система подумает, что это новое обращение, а не ответ.

Тут я начинаю думать, а может быть есть какой-нибудь способ отслеживать письма по заголовкам писем?
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Тут я начинаю думать, а может быть есть какой-нибудь способ отслеживать письма по заголовкам писем

даже если ты передашь доп. заголовок в письме пользователю, он не попадет в ответ пользователя.
просто напиши в письме что для корректной работы пользователь не должен изменять тему в ответе
Ответ написан
@rPman
Связывай письма не по теме а по хидерам в письмах: In-Reply-To, References и не стандартный майкрософтовский Thread-Index, по крайней мере так было раньше, маловероятно что что то еще добавилось
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽