хороший день!
Извините за так "ясный" вопрос, позвольте мне объяснить. В моей «программе» я отправляю несколько писем через (например,) SMTP-сервер gmail. Давайте сделаем вид, что каждое электронное письмо, которое я отправил, содержит уникальный идентификатор (сгенерированный мной) в заголовке. Есть ли шанс, после получения этих сообщений из gmail (например, с помощью python imaplib), я снова получу этот уникальный идентификатор (в заголовке)?
спасибоотправить сообщение через SMTP с гарантией ID
ответ
В целом, MTA сохраняют любые заголовки сообщений, которые вы вводите. Релеинга СПМ являются required to do so:
Как обсуждалось в разделе 6.4, реле SMTP не имеет никакой необходимости проверять или акт на секции заголовка или тела данных сообщения и НЕ ДОЛЖЕН сделать это, кроме как добавить свой собственный " Получено: «поле заголовка» (раздел 4.4) и, при желании, попытка обнаружения цикла в почтовой системе (см. , раздел 6.3). Разумеется, этот запрет также применяется к любым изменениям этих полей заголовка или текста (см. Также раздел 7.9).
И, как правило, принимающий MTA также просто добавляет дополнительные заголовки, связанные с получением сообщений, проверкой спама, обнаружением петли и т. П. Так что да, вы почти наверняка будете в безопасности, независимо от того, какой целевой SMTP-сервер вы используете, GMail или иначе.
Если идентификаторы действительно уникальны, вы можете рассмотреть возможность их использования в составе your Message-ID
header value. Преимущество использования Message-ID
для этого является то, что, когда пользователи ответить на ваше сообщение, то они, как правило, включают в себя, что Message-ID
значение в их In-Reply-To
и/или References
заголовок:
«Message-ID:» поле обеспечивает уникальный идентификатор сообщения, который относится к конкретной версии конкретного сообщения. Уникальность идентификатора сообщения гарантируется хостом, который генерирует его (см. Ниже). Этот идентификатор сообщения должен быть машиносчитываемым и необязательно значимым для человека. Идентификатор сообщения относится к одной версии конкретного сообщения; последующие изменения к сообщению каждый получают новое сообщение идентификаторы.
Поля «В ответ на:» и «Ссылки:» используются при создании ответа на сообщение . Они содержат идентификатор сообщения исходного сообщения и идентификаторы сообщений других сообщений (например, в случае ответа на сообщение, которое было ответом).Поле «В ответе:» может использоваться для идентификации сообщения (или сообщений), к которому новое сообщение является ответом, а поле «Ссылки:» может использоваться для идентификации «потока» разговор.
Я просто немного поработал над этим, и это выглядит по-настоящему и на самом деле довольно легко.
Я использовал расширение Mail.php, чтобы это произошло (не важно, однако). Я добавил дополнительный заголовок, прежде чем отправил сообщение («Тревор» => «Мой тест»). Я получил сообщение в Gmail и сделал «Показать оригинал» и содержит заголовок.
Затем я вытащил это сообщение (также через PHP), и заголовок содержит введенную пользователем строку.