0

我想知道这是否是最好的方法,但是 Flask-Mail 扩展接受一些SMTP服务器配置,并在要发送电子邮件时调用类的send函数。Mail

我正在使用一个SMTP提供程序,并编写了我自己的发送函数,它利用了 Flask-Mail 扩展的 Message 对象,现在我想修补邮件对象以使用这个自定义函数。

我尝试了以下方法:

from flask_mail import Mail
#override the send email to use 
#the elastic email
Mail.send = _custom_send
app = Flask(__name__)
mail = Mail()
mail.init_app(app)

app = Flask(__name__)
mail = Mail()
mail.send = types.MethodType(_custom_send, mail)
mail.init_app(app)

但是,该类的现有send函数Mail仍在被调用。

有任何想法吗?

4

1 回答 1

2

关于你的第一句话

我想知道这是否是最好的方法

为什么不直接继承原始Mail类并重新定义.send

class MyMail(Mail):
    def send(self, ...):
      ....
于 2014-04-06T17:45:43.587 回答