2016-09-25 4 views
-1

Flak Mailを使用して、Webサイトの連絡フォームから電子メールを送信しています。連絡先フォームにもsenderのメールIDフィールドがあります。だから私は "受信者"の電子メールIDでfromsender電子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]に設定されているということです。 送信者を希望の値に設定する方法を理解できません。

答えて

0

あなたが渡しているemail_idがあなたの考えであることを確認しましたか?

The Flask Mail source codeは、あなたが渡したsenderが虚偽(たとえば、[なし]または空の文字列)の場合にのみデフォルトを使用することを示しています。

+0

はい正しいです。私はそれを確認するためにコードをデバッグしました。 –

関連する問題