Письма, адрес для ответа отличается от адреса отправителя - PullRequest
10 голосов
/ 05 января 2011

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

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

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

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

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

Ответы [ 4 ]

13 голосов
/ 05 января 2011

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

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

from django.core.mail import EmailMessage

email = EmailMessage(
    'Hello',
    'Body goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
    ['bcc@example.com'],
    headers = {'Reply-To': 'another@example.com'}
)

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

3 голосов
/ 05 января 2011

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

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

Редактировать: Найдено: RFC 5322 , раздел 3.6.2

1 голос
/ 28 февраля 2014

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

from django.core.mail import EmailMessage
headers = {'Reply-To': 'email@one.com;email@two.com'}
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/

0 голосов
/ 17 января 2019

Вот также, как может использоваться ответ на запрос

from django.core.mail import EmailMessage

email = EmailMessage(
    'Hello',
    'Body goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
    ['bcc@example.com'],
    reply_to=['another@example.com'],
    headers={'Message-ID': 'foo'},
)

Подробнее на документах docs.djangoproject

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...