Flak Mailを使用して、Webサイトの連絡フォームから電子メールを送信しています。連絡先フォームにもsender
のメールIDフィールドがあります。だから私は "受信者"の電子メールIDでfrom
sender
電子IDとしてフォームに入力された値を持つように設定したい電子メールを受信したとき。以下は、電子メールを処理するクラスです:Flaskメールを使用中に送信者の電子メール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'] = '[email protected]'
app.config['MAIL_PASSWORD'] = '<password>'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
self.recipient_email = '[email protected]'
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
方法は、問い合わせフォームに入力されたフィールドである4つの引数を受け取ります。問題は、このような電子メールを送信すると、連絡先フォームからemail_id
というメッセージオブジェクトをメッセージオブジェクトに設定しているにもかかわらず、受信した電子メールのfrom
がSMTP MAIL_USERNAME [email protected]
に設定されているということです。 送信者を希望の値に設定する方法を理解できません。
はい正しいです。私はそれを確認するためにコードをデバッグしました。 –