Django 1.3 добавит аргумент "cc" к EmailMessage
, что превосходно. Как можно подражать этому, используя Django 1.2?
Сначала я попробовал это:
headers = None
if form.cleaned_data['cc_sender']:
headers = {'Cc': sender} # `cc` argument added in Django 1.3
msg = EmailMultiAlternatives(subject, message, sender, recipients, headers=headers)
msg.attach_alternative(replace(convert(message)), 'text/html')
msg.send(fail_silently=False)
Это правильно установило заголовок "Cc", но фактически не отправляло точную копию. Я посмотрел на SMTP.sendmail для подсказок, и он, кажется, принимает всех получателей как один аргумент (он не имеет отдельных to
, cc
и bcc
аргументов).
Далее я попробовал это:
headers = None
if form.cleaned_data['cc_sender']:
headers = {'Cc': sender} # `cc` argument added in Django 1.3
recipients.append(sender) # <-- added this line
msg = EmailMultiAlternatives(subject, message, sender, recipients, headers=headers)
msg.attach_alternative(replace(convert(message)), 'text/html')
msg.send(fail_silently=False)
Это сработало, но означало, что когда я нажимал «ответить» (во всяком случае, в Gmail), оба адреса появлялись в поле «Кому». Я также попытался установить заголовок «Reply-To» (sender
), но это не имело значения.
Должна быть возможность "cc" адрес без , а также , включая адрес среди прямых получателей. Как бы я это сделал?