骨髓邮件python keyerror加密

时间:2017-01-07 20:35:24

标签: python flask mailer flask-mail

import requests
from marrow.mailer import Mailer, Message

from app import celery
from app.helpers.versioning import strip_tags


@celery.task(name='send.email.post.smtp')
def send_mail_via_smtp_task(config, payload):
    print config,payload
    mailer_config = {
        'transport': {
            'use': 'smtp',
            'host': config['host'],
            'username': 'nikhil.rayaprolu@students.iiit.ac.in',
            'password': '99121Padma',
            'tls': config['encryption'],
            'port': config['port']
        }
    }

    mailer = Mailer(mailer_config)
    mailer.start()
    message = Message(author=payload['from'], to=payload['to'])
    message.subject = payload['subject']
    message.plain = strip_tags(payload['html'])
    message.rich = payload['html']
    mailer.send(message)
    mailer.stop()

上面的代码给了我一个错误  ERROR / MainProcess]任务send.email.post.smtp [a58e3232-ffe2-42d0-ad53-03dc4dc6b980]意外引发:KeyError('加密',) 是什么造成了这个问题?

1 个答案:

答案 0 :(得分:0)

错误说config字典没有名为encryption的密钥,因此当您尝试获取此密钥的值时会引发KeyError。确保config字典有它。

mailer_config = {
        ...
        'tls': config['encryption'],
}