Django 1.3では、 "cc"引数がEmailMessage
に追加されます。どのようにDjango 1.2を使ってこれを模倣するでしょうか?これは正しく「CC」ヘッダを設定しますが、実際にカーボンコピーを送信しませんでしたDjangoから電子メールを送信するときに "cc"を設定する
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)
:
まず、私はこれを試してみました。私は手がかりのためにSMTP.sendmailを見て、すべての受信者を1つの引数として取るように見えます(別の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で)「返信」打ったときという意味の両方のアドレスが「へ」のフィールドに登場。私はまた、 "返信先"ヘッダ(sender
へ)を設定しようとしましたが、これは違いはありませんでした。
直接受信者のアドレスを含むまたのないアドレスを "cc"することができなければなりません。どうすればいい?
からコピー
、問題は何とか、メールサーバであるかもしれないようです。私はDjangoがメッセージ自体を送信しないと思って、それをメールサーバーにスプールします。 –
「SMTP.sendmail」が受信者のリストを1つだけ受け取るのは、メッセージヘッダーを気にしないからです。 SMTPには、メールクライアント(例:Thunderbird、Outlookなど)でのみ使用され、リストを作成するための/ ccヘッダーが含まれています。誰がメールを送ってくるのですか?メールが送信されると、 'to 'と' cc'をそのまま残したバージョンをそのリストの人のリストに送り、第2のバージョンをBCCに送るすべての人に送ります。これが明確でない場合は、さらに説明しますが、私は屋根から外れています。 –