我已经开始django构建我的第一个应用程序教程,我必须在一些特殊的Ocations数据库表中向我的所有用户存储发送电子邮件。我在谷歌搜索,发现很多api但发现很难配置我的应用程序。
这是我的model.py
class Users(models.Model):
UserID = models.IntegerField(verbose_name='User ID',max_length=255,primary_key=True)
UserName = models.CharField(verbose_name='User Name',max_length=254,null=True,blank=True)
Email = models.EmailField(verbose_name='Email',max_length=254,null=True,blank=True)
Phone = models.CharField(verbose_name='Phone Number',max_length=254,null=True,blank=True)
我希望在这里有一个功能,它应该逐个让所有用户获得,发送电子邮件也会告诉电子邮件已经发送的状态天气。
答案 0 :(得分:3)
recievers = []
for user in Users.objects.all():
recievers.append(user.email)
send_mail(subject, message, from_email, recievers)
这样,您只会打开一次与邮件服务器的连接,而不是为每封电子邮件打开。
答案 1 :(得分:0)
发送电子邮件非常简单。
对于您的Users
模型,这将是:
for user in Users.objects.all():
send_mail(subject, message, from_email,
user.Email)
结帐Django's Documentation on send emails了解详情。
如果你提到你遇到了什么问题,那将会很有用。
另请注意,IntegerField
没有max_length
参数。
答案 2 :(得分:-1)
对于 Users.objects.all() 中的用户: send_mail(主题,消息,from_email, 用户.电子邮件)
这是最好的解决方案,而且效果很好