我正在尝试使用烧瓶邮件发送批量电子邮件...这是我的代码
users = models.User.query.filter_by(query_email_notification=1).all()
if users:
# Bulk emails... keep connection open
with app.app_context():
with mail.connect() as conn:
for user in users:
subject = "subject"
message = "message"
msg = Message(recipients=[user.email],
body=message,
subject=subject,
sender='myemail@gmail.com')
conn.send(msg)
我的烧瓶邮件设置如下
from flask_mail import Message
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 587,
MAIL_USE_TLS = True,
MAIL_USE_SSL = False,
MAIL_USERNAME = 'myemail@gmail.com',
MAIL_PASSWORD = 'password',
))
mail.init_app(app)
这适用于一定数量的电子邮件,但在收到大约100封电子邮件后
raise SMTPServerDisconnected('please run connect() first')
smtplib.SMTPServerDisconnected: please run connect() first
我注意到gmail将每天的电子邮件数限制为2000,但我确保没有达到这个限制。 任何想法我还能检查什么?
MAIL_MAX_EMAILS配置变量是解决方案吗?它会在发送一定数量的电子邮件后重新连接......? 我正在寻找一个可靠的解决方案。因此,如果通过Gmail发送许多电子邮件不是一个好的选择,你还会推荐什么? 谢谢 卡尔
答案 0 :(得分:2)
Google认为这是一种垃圾邮件。在每条消息成功发送后使用等待时间,例如:
time.sleep(80)
这将等待80秒。