1

我在 Django 应用程序中有一个功能可以向所有注册用户发送电子邮件,我目前正在使用“EmailMessage”进行操作,它运行良好,但每个人都可以看到其他所有收件人的电子邮件,这是不需要的。

有没有办法使用 Django 邮件功能隐藏收件人?

谢谢你。

4

3 回答 3

3

当您实例化 EmailMessage 类时,您可以提供例如示例的密件抄送属性。

这是 EmailMessage 类

class EmailMessage(object):
"""
A container for email information.
"""
content_subtype = 'plain'
mixed_subtype = 'mixed'
encoding = None     # None => use settings default

def __init__(self, subject='', body='', from_email=None, to=None, bcc=None,
             connection=None, attachments=None, headers=None, cc=None):

因此,如果您向密件抄送收件人提供属性名称。您可以将目标电子邮件设置为密件抄送收件人。

message = EmailMessage('hello', 'body', bcc=['user@email.com',])
message.send()
于 2015-03-16T22:37:24.813 回答
3

http://en.wikipedia.org/wiki/Blind_carbon_copy

https://docs.djangoproject.com/en/1.7/topics/email/

绝对是密件抄送每个地址,这应该为任何收件人隐藏它们。根据文档的外观,您将需要创建自己的 EmailMessage 而不是使用预定义的包装器。

于 2015-03-16T22:27:17.720 回答
0

如果您想使用 send_mass_mail() 函数发送群发电子邮件,可以尝试这种代码格式。

from django.core.mail import send_mass_mail

subject = 'test subject'
message = 'test message'
from_email = 'from@from.com'
recipient_list = ['a@a.com', 'b@b.com', 'c@c.com']

messages = [(subject, message, from_email, [recipient]) for recipient in recipient_list]

send_mass_mail(messages)
于 2021-03-18T05:03:57.850 回答