celery flask_mail 发送邮件失败的问题
2019-04-26 本文已影响0人
雨夜剪魂
版本<celery 4>当使用flask_mail发送问题,一般会导致三个大问题要注意下
第一个
不能再celery.task任务中接受一个对象实例,进行实例Message的创建必须在celery任务内部进行,如果在外部进行会导致的问题就是,celery.task无法序列化这些对象,导致报错.
第二个
邮箱配置问题,163的邮箱仅仅支持25端口,如果使用的云封掉了25端口就没办法使用了,那么qq邮箱tls使用的是465一般这个端口是开放的,可以使用qq邮箱进行处理
第三个
处理完这些问题后,还出现了一个不能再celery.task引用flask app上下文,也就是说,app上下文环境之外是不运行执行的。通常在router中执行celery task任务,那么这些任务就在app上下文之外了,出现了这样的问题,就必须使用make_celery方法进行flask app上下文对celery进行包装。celery4