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('加密',) 是什么造成了这个问题?
答案 0 :(得分:0)
错误说config
字典没有名为encryption
的密钥,因此当您尝试获取此密钥的值时会引发KeyError
。确保config
字典有它。
mailer_config = {
...
'tls': config['encryption'],
}