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

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

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

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

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

Тут я начинаю думать, а может быть есть какой-нибудь способ отслеживать письма по заголовкам писем?
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Тут я начинаю думать, а может быть есть какой-нибудь способ отслеживать письма по заголовкам писем

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

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

Войти через центр авторизации
Похожие вопросы