web-dev-qa-db-ja.com

Django Google Apps経由でメールを送信するときにメールアカウントに名前を付ける

Djangoを使用して、Google Appsからユーザーにメールを送信しています。

ユーザーがDjangoアプリから送信された電子メールを受信した場合、それらは以下からのものです。
[email protected]

受信トレイ内のすべてのメールを見ると、メールの送信者は次のように見えます。
do_not_replyまたは[email protected]使用するメールクライアントに応じて

ブラウザとGoogle Appsを使用して「do_not_reply」アカウントにログインし、自分宛てにメールを送信すると、メールは次のようになります。
Dont Reply<[email protected]>

その結果、受信トレイでメールの送信者に表示される名前は次のようになります。
Dont Reply

Djangoで、メールの送信に使用されているメールアカウントに「名前」を付ける方法はありますか?

Djangoのmail.pyを確認しましたが、解決策を見つけることができませんでした
http://code.djangoproject.com/browser/Django/trunk/Django/core/mail.py?rev=5548

使用:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_Host = 'smtp.gmail.com'

ありがとう

74
rfadams

"Dont Reply <[email protected]>"は、送信元のメールアドレスとして実際に使用できます。

Djangoプロジェクトのシェルでこれを試して、gappsでも機能するかどうかをテストします。

>>> from Django.core.mail import send_mail
>>> send_mail('subject', 'message', 'Dont Reply <[email protected]>', ['[email protected]'])
122

電子メールを送信するsend_mailメソッドのほかに、EmailMultiAlternativesを使用して、代替としてテキストコンテンツを含むHTMLコンテンツを含む電子メールを送信することもできます。

あなたのプロジェクトでこれを試してください

from Django.core.mail import EmailMultiAlternatives
text_content = "Hello World"
# set html_content  
email = EmailMultiAlternatives('subject', text_content, 'Dont Reply <[email protected]>', ['[email protected]'])

email.attach_alternative(html_content, 'text/html')
email.send()

これにより、メール '[email protected]'の代わりに、返信しないで[email protected]にメールが送信されます。

0
Basant Kumar