首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python电子邮件KeyError KeyError:'mail‘

Python电子邮件KeyError KeyError:'mail‘
EN

Stack Overflow用户
提问于 2015-02-11 23:12:32
回答 2查看 5K关注 0票数 3

我在使用Python水瓶和烧瓶-邮件库时遇到了问题。

我收到了一个错误:

KeyError:“邮件”

有人能帮我解决这个问题吗?

我的代码是:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
from flask import Flask
from flask.ext.mail import Message
from flask.ext.mail import Mail
from ws import app


class Email():  

def __init__(self):
    ""
#
# Enviar el email
#
def enviar_mail(self,subject, sender, recipients, text_body="hola mundo txt", html_body="hola mundo html"):
    app = Flask(__name__)

    app.config.update(dict(
        MAIL_SERVER = 'smtp.gmail.com',
        MAIL_PORT = 465,
        MAIL_USE_TLS = False,
        MAIL_USE_SSL = True,
        MAIL_USERNAME = 'miaccount@gmail.com',
        MAIL_PASSWORD = 'mypasswd$%'
    ))

    mail = Mail(app)
    mail.init_app(app)
    msg = Message("Hello", sender="miaccount@gmail.com",recipients=["myrecipient@hotmail.com"])
    msg.body = "testing"
    msg.html = "<b>testing</b>"
    mail.send(msg)

,错误为

代码语言:javascript
复制
KeyError
KeyError: 'mail'
Traceback (most recent call last)
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__

mail.send(msg)
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask_mail.py", line 492, in send

message.send(connection)
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask_mail.py", line 427, in send

connection.send(self)
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask_mail.py", line 190, in send

message.as_bytes() if PY3 else message.as_string(),
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask_mail.py", line 381, in as_string

return self._message().as_string()
File "/home/javier/python/wszbeltia/lib/python2.7/site-packages/flask_mail.py", line 307, in _message

**ascii_attachments = current_app.extensions['mail'].ascii_attachments
KeyError: 'mail'**
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-23 18:54:42

降级为flask_mail==0.9.0

在0.9.1版中,这似乎是一个回归。

票数 13
EN

Stack Overflow用户

发布于 2021-10-25 21:07:30

我不能在python3.8中使用flask_mail==0.9.0,它给了我一个错误:"smtplib.server.sendmail函数引发UnicodeEncodeError:'ascii‘编解码器不能对字符进行编码“。

我需要使用flask_mail==0.9.1。通过flask_mail==0.9.1,我得到了"Email KeyError KeyError:'mail'“错误。

我用“电子邮件KeyError KeyError:'mail'”错误解决了"current_app“而不是"app

代码语言:javascript
复制
from flask import current_app
mail = Mail(current_app)
# send unicode not ascii or latin 
msg.html = message.encode("utf-8")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28466384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档