python - 如何动态关闭和开启电子邮件发送?

标签 python django django-email

我有一个模型预订,它在创建时向用户发送电子邮件。

出于测试目的,我想时不时地向数据库填充数百个预订

它可以生成数千封电子邮件,因此我想关闭电子邮件发送,或者如果可能的话动态更改电子邮件后端。

我无法批量创建,因为我需要为每个 Reservation 模型执行 save 方法。

我想到的唯一一件事是暂时更改settings.py,但也许有更好的方法来做到这一点(我可能忘记更改设置)。

def create_random_reservations(count=10, user='futilestudio'):
    users = User.objects.all()
    airports = Location.objects.filter(is_airport=True)
    cities = Location.objects.filter(is_airport=False)

    for n in range(count / 2):
        dt = datetime(year=2017, month=9, day=random.choice(range(15, 20)), hour=random.choice(range(12, 22)),
                      minute=random.choice(range(60)))
        r = Reservation.objects.create(customer_first_name=get_random_string(10),
                                       customer_last_name=get_random_string(10), flight_number=get_random_string(5),
                                       destination_from=random.choice(airports), destination_to=random.choice(cities),
                                       date_arrival=dt.date(), time_arrival=dt.time(), customer=random.choice(users))
        r.confirm(save=True)

最佳答案

您应该至少有两个不同的设置文件 - 一个用于生产,一个用于开发。只需将您的开发设置 EMAIL_BACKEND 设置为 something that does not effectively send mails适用于您的开发环境。

关于python - 如何动态关闭和开启电子邮件发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45505633/

相关文章:

用于 float 的 Python 中的 JavaScript toString(16)?

python - pip 8.1 的自定义 pip.conf 位置

python - Django Serializer POST 数据未完全传递给序列化器

django - 使用 Outlook SMTP 发送电子邮件

django - django 发送邮件时不要卡住

python - 通过 python 发送邮件

python - 在 Python 中隐藏代码或阻止代码编辑

django - 我可以散列/加密或以其他方式保护我的 Django 应用程序中的电子邮件免受黑客攻击吗?

python - Django HTMLForms 属性错误 属性错误 : module 'polls.views' has no attribute 'index'

Django - 动态导入模型表单