Электронная почта, другой адрес "ответ" на адрес отправителя

У меня есть contact form на веб-сайте (общая форма: имя, адрес электронной почты, тема, сообщение), в котором письма отправляются с помощью smtp-приложений Google для администраторов.
В настоящее время, если администратор хочет ответить на почту напрямую, выбрав параметр ответа, поле "Ответ на ответ" будет автоматически заполнено адресом отправителя.

Я не хочу спрашивать, Есть ли какой-либо стандартизованный способ передать некоторую дополнительную информацию с почтой, которая будет определять любой ответ на почту, должен идти по этому адресу вместо отправителя?

Кажется, что есть небольшой шанс для этого варианта, так как это может привести к некоторым проблемам из-за спамеров (они могут определять настраиваемое поле ответа в своей почте, а обычный пользователь может не посмотреть, где они отвечают).

Итак, в качестве альтернативы я решил найти способ создания фильтра с учетной записью отправителя, который определяет адрес электронной почты ответа из формата и пересылает почту (не кажется хорошим решением, и я понятия не имею как это достичь).

Я пометил django, хотя это напрямую не связано с этим, так как я, наконец, реализую это через django.

Ответ 1

На самом деле существуют стандартные заголовки для указания заголовков ответов: http://cr.yp.to/immhf/response.html.

Что касается реализации этого в Django, документация содержит пример:

from django.core.mail import EmailMessage

email = EmailMessage(
    'Hello',
    'Body goes here',
    '[email protected]',
    ['[email protected]', '[email protected]'],
    ['[email protected]'],
    headers = {'Reply-To': '[email protected]'}
)

Это решило мою проблему.

Ответ 2

Reply-To - стандартный SMTP-заголовок.

В настоящий момент я не могу найти хорошую ссылку для него, но упоминается в статье Википедии о Email.

Изменить: Найден: RFC 5322, раздел 3.6.2

Ответ 3

RFC заявляет, что вы можете указать несколько электронных писем, и именно этого я и искал. Пришел к следующему:

from django.core.mail import EmailMessage
headers = {'Reply-To': '[email protected];[email protected]'}
msg = EmailMessage(subject, html_content, EMAIL_HOST_USER, email_list, headers=headers)
msg.content_subtype = "html"
msg.send()

Работает как шарм. Примечание. EMAIL_HOST_USER импортируется из файла настроек в соответствии с настройкой электронной почты Django doc. Подробнее об этом здесь, найдите "ответ на": https://docs.djangoproject.com/en/dev/topics/email/