40

Pythonメールとsmtplibを使用して、Pythonからメールを送信しています。Gmail資格情報を使用して、Gmail SMTPサーバー経由でこれを行っています。これは問題なく動作しますが、Reply-toアドレスとは異なるメール アドレスを指定しfromて、返信が別のアドレス (Gmail 以外) に送信されるようにしたいと考えています。

私はreply toこのようなパラメータを作成しようとしました:

   msg = MIMEMultipart()

   msg['From'] = "email@gmail.com"
   msg['To'] = to
   msg['Subject'] = subject
   msg['Reply-to'] = "email2@domain2.com"

しかし、これはうまくいきません。Python docs でこれに関する情報を見つけることができません。

ありがとう。

4

5 に答える 5

50

これが私の見解です。「Reply-To」ヘッダーは明示的に設定する必要があると思います。考えられる理由は、「Subject」、「To」、「From」などのヘッダーよりも一般的に使用されていないことです。

python
Python 2.6.6 (r266:84292, May 10 2011, 11:07:28) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> MAIL_SERVER = 'smtp.domain.com'
>>> TO_ADDRESS = 'you@gmail.com'
>>> FROM_ADDRESS = 'email@domain.com'
>>> REPLY_TO_ADDRESS = 'email2@domain2.com'
>>> import smtplib
>>> import email.mime.multipart
>>> msg = email.mime.multipart.MIMEMultipart()
>>> msg['to'] = TO_ADDRESS
>>> msg['from'] = FROM_ADDRESS
>>> msg['subject'] = 'testing reply-to header'
>>> msg.add_header('reply-to', REPLY_TO_ADDRESS)
>>> server = smtplib.SMTP(MAIL_SERVER)
>>> server.sendmail(msg['from'], [msg['to']], msg.as_string())
{}
于 2011-05-19T17:49:06.063 に答える