如何在使用Flask Mail

时间:2016-09-25 03:52:28

标签: python flask smtp flask-mail

我正在使用Flak Mail从网站的联系表单发送电子邮件。联系表单也有sender个电子邮件ID字段。所以,当我收到"收件人"电子邮件ID我希望将from设置为sender电子邮件ID,以便在表单上输入值。以下是处理电子邮件的类:

from flask_mail import Mail, Message

class SendMail:

    def __init__(self, app):
        app.config['MAIL_SERVER']='smtp.gmail.com'
        app.config['MAIL_PORT'] = 465
        app.config['MAIL_USERNAME'] = 'smtpsetup@gmail.com'
        app.config['MAIL_PASSWORD'] = '<password>'
        app.config['MAIL_USE_TLS'] = False
        app.config['MAIL_USE_SSL'] = True
        self.recipient_email = 'recipient@gmail.com'
        self.app = app
        self.mail = Mail(self.app)

    def compile_mail(self, name, email_id, phone_no, msg):
        message = Message(name+" has a query",
                          sender = email_id,
                          recipients=[self.recipient_email])
        message.html = "<b>Name : </b>"+name+"<br><b>Phone No :</b> "+phone_no+"<br><b>Message : </b>"+msg
        return message

    def send_mail(self, name, email_id, phone_no, msg):
        message = self.compile_mail(name, email_id, phone_no, msg)
        with self.app.app_context():
            self.mail.send(message)

send_mail方法接收四个参数,这些参数是在联系表单上输入的字段。问题是,当我发送这样的电子邮件时,收到的电子邮件中的from设置为SMTP MAIL_USERNAME smtpsetup@gmail.com,尽管我在Message对象中设置sender参数为email_id从联系表单中收到。 无法弄清楚如何将发件人设置为我想要的值。

1 个答案:

答案 0 :(得分:0)

您是否检查过您传递的 android:elevation="20dp" 是否符合您的想法?

The Flask Mail source code表示如果您传入的email_id是假的(例如无或空字符串),它将仅使用默认值。