Как и выше, на самом деле - желание объединить вложения из двух электронных писем (отправляемых одному и тому же отправителю) в одно электронное письмо с несколькими вложениями. Я видел, как люди ссылаются на milter, но я не знаю, что делаю. Или если это вообще возможно.

Благодарность!

0
daneee 10 Май 2021 в 23:46
Технически возможно, потому что технически все возможно, но невероятно сложно, потому что SMTP на самом деле не предназначен для работы. Я чувствую запах проблемы XY; попробуйте объяснить, чего вы надеетесь достичь с помощью этого, потому что должен быть лучший способ...
 – 
Shadur
11 Май 2021 в 00:20

1 ответ

Это возможно, но сложно.

Начнем с «двух писем». Есть два электронных письма. Каково временное расстояние, в течение которого два электронных письма больше не могут быть объединены вместе? Вам нужно хранить первое электронное письмо как минимум в течение этого времени. И, если в течение этого времени приходит другая почта, вы выполняете слияние; в противном случае вы освобождаете первую почту, которая придет с задержкой.

Итак, вам нужно перехватывать все электронные письма по мере их поступления, проверьте, направлены ли они одному отправителю и присутствует ли этот отправитель в списке "объединителей".

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

Затем периодически приходится проверять все такие mbox'ы. Вы должны сделать это через скрипт cron, другого практичного и надежного способа нет. Мбоксы старше определенного времени должны быть преобразованы обратно в электронные письма и отправлены без дальнейших задержек.

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

0
LSerni 11 Май 2021 в 00:16
Запуск специального списка рассылки для этого одного «подписчика» в режиме дайджеста был бы простым (но некрасивым) способом сделать это. Я предполагаю, что когда OP говорит «отправитель», они на самом деле имеют в виду «получатель», потому что нет смысла говорить «два письма (отправляемых одному одному и тому же отправителю)»
 – 
cas
11 Май 2021 в 10:29
Извините, да, я имел в виду получателя. ой
 – 
daneee
22 Июн 2021 в 11:48