我正在使用 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 设置为 SMTP MAIL_USERNAME smtpsetup@gmail.com
,尽管我sender
在 Message 对象中设置email_id
了从联系表单接收到的参数。无法弄清楚如何将发件人设置为我想要的值。