当我们把项目部署到云端上,再发送邮件时,我们启动的celery异步任务出错。在Windows上没有错,而在centos上报错。重写了此任务。
解决方案:
def send_verify_email(verify_code,to_email):
smtp = smtplib.SMTP_SSL("smtp.qq.com")
smtp.ehlo("smtp.qq.com")
smtp.login('2259583140@qq.com', 'bjtenrwpbsxgebah')
msg = MIMEMultipart()
subject = Header('BannerStudio旗帜软件工作室', 'utf-8').encode()
msg['Subject'] = subject
msg['From'] = 'qq2259583140'
msg['To'] = to_email
m='您的验证码为%s'%(verify_code)
text = MIMEText(m, 'plain', 'utf-8')
msg.attach(text)
smtp.sendmail('2259583140@qq.com', to_email, msg.as_string())
smtp.quit()
同时,因为我们已经部署在云端上了。因此要用守护进程的方式去开启celery队列,
开启:celery multi start w1 -A celery_test -l info
停止:celery multi stop w1 -A celery_test -l info
重启:celery multi restart w1 -A celery_test -l info