DjangoでISO-2022-JPなメール送信
投稿日:2008/01/29 23:30:27
過去の記事は移行時の問題により、画像が表示されなかったり、レイアウトが崩れたりしている可能性があります。
Tweet
この話って一時期Lingrのdjango-jaでも話題になってましたけど、
今は普通にエンコードを指定できるようになってるんですね。
[追記:2008/03/04]
soundkitchen氏からのコメントのとおり、全然指定できるようになっていませんでした。
運良く化けない端末で受信していただけでした。早く使えるようになるといいなあ。
登録完了メールだとかコメントがあったときのメールだとかのあたりで使ってみました。
メールの本文とタイトルはテンプレートファイルを用意して変更しやすいようにしました。
ちょっとアクティベーションメールを送るあたりのコードを。
[python]
from django.core.mail import SMTPConnection, EmailMessage
from django.template.loader import get_template
from django.template import Context
def create_inactive_user(request):
"""create an inactive user and send a email including activation key"""
### (略)formをバリデートしたり、new_userを作ったりしてとりあえずnew_user.is_activeをFalseにする
### タイトルが書いてあるテンプレート
t = get_template('email/registration_subject.txt')
### 末尾の改行は消しておく(これContextいらない場合も指定しないとだめかな?Noneとかでいいかな)
subject = t.render(Context({})).rstrip('\n')
### 本文が書いてあるテンプレート
t = get_template('email/registration_body.txt')
### テンプレートにはユーザー名とかアクティベーションキーを入れます
c = Context({
'user': new_user,
'activation_key': activation_key
})
body = t.render(c)
to = [new_user.email]
### settings.pyで指定した送信サーバとポートを使うようにする
### デフォルト(localhostの25番)でいい場合は、ここいらないかも
connection = SMTPConnection()
connection.host = settings.SMTP_HOST
connection.port = settings.SMTP_PORT
### EmailMessageインスタンス作成
email = EmailMessage(
subject=subject,
body=body,
from_email='送信元のアドレス',
to=to,
#bcc=[],
connection=connection, ### デフォルトの場合これもいらない
#headers={}
)
### ここでエンコーディングをISO-2022-JPに
email.encoding = 'ISO-2022-JP'
### あとは送るだけ
email.send()
### (略)成功したらリダイレクトしたりする
[/python]
まあ、こんな感じで今のところちゃんと動いてます。
コードへの突っ込みを歓迎しています。
- Posted at:
- 2008/01/29 23:30:27
- 10 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2008/01/29/django_jis_email/trackback/
TrackBacks
まだ登録されていません。
Comments
chandelier wholesale
私は時々全体のことを学ぶために退屈ことを告白するが、私はあなたには、いくつかの値を追加することができるでしょう感じます。ブラボー!
guides in St.Petersburg
ヘイ - 良いブログ、単にいくつかのブログの周りに望む、使用している非常に良いプラットフォームだ。私は私のサイトの数のためにDrupalを使用しているが、非常に多くの試運転としてあなたと同一のプラットフォームに上それらのすべての内の1つを変更するために探して瞬間です。特に何かがあなたはそれについて示唆しているだろうか?
outdoor lighting manufacturers canada
高度なポストを評価した。私は毎日、完全に別のブログに全く新しい一つのことを教えられる。いずれかの決定。別の作家からの紙の内容を読み、彼らのウェブサイトから少し何かを研究するために刺激する。私はあなたが心なら私のブログにこのコンテンツの特定の使用するようにしたいと思います。 Natually私は右ここに私達があなたのウェブサイトにいるリンクを与えるでしょう。あなたの共有を認識する。
металлоконструкции
鋼の鉄鋼会社" SMKエンジニアリング"の製造とインストールが広く、農業、工業、物流、娯楽、スポーツの多くの分野で使用されています。コーティングの様々な種類の私達の鋼は、家畜や家禽農場、倉庫、機器のためのシェルター、取り扱いサイト、工場、ショッピング、スポーツやエンターテイメントのパビリオンとして使用することができます。リーズナブルな価格、工事の優れた性能、製造期限、運転期間中の3年間の製品保証とサービスは、 - 私達の会社の主要な利点です。さらに、我々は低価格で支持構造の存在下で、フレームテントの復興事業と農場の小屋を提案する。
take a chance on smken.ru
appliance repair Irvine
最後に、私が探していたものを手に入れる!私は間違いなくそれを少しずつを楽しんでいます。喜んで私はこの記事につまずいた!私は、あなたが新しいものあなたの投稿をチェックアウトして保存されている笑っている。
ダール
そこにこんにちは、私はあなたのブログが大好きです。私はサブスクリプションまたはいくつかのことのような更新を受け取るためにできることは何かありますか?私は残念私はRSSに精通していないよですか?
DSLR-A900
あなたから偉大なもの、人。アイブ氏は前に自分のものを読んで、あまりにも素晴らしいのYoureの。私はホードがここに得たもの好き、と言っていて、それを言う方法youreのものが大好き。あなたはそれが楽しいし、まだそれがスマートに保つために管理すること。私はカントあなたから多くを読むために待つ。これは本当に素晴らしいブログです。
proviron
私はあなたの電子メールサブスクリプションのリンクやニュースレターのサービスを見つけることができないように私はすぐにあなたのrssを把握します。何かがあるのですか?親切に私は私が購読可能性があることを順番に認識することができます。おかげ。
Manufacturers of lamps for the home
私はただ援助が実際に何がインターネット上に約話すtheyre知っている人を探し出すために何を言うことができます。あなたは間違いなく軽度のに困難を運ぶ、それが重要なようにする方法を知っている。より多くの人々がこれを読んで、ストーリーのこの側面を知覚する必要があります。あなたが積極的に贈り物を持っているので、私カントは想像がよりファッショナブルではないYoureの。
FapTurbo
あなたはそこにいくつかの良い点を作った。私は、トピックに関する検索を行なったし、ほとんどの人が同意するだろうが見つかりました。 、と私はあなたに伝えたい。
数千のアカウントを強姦の上"には損失"と終了を約束しない、いわゆる"外国為替ボット"にお金を吹くの死に病気?最終的に自動操縦で完全に私専用の現金自動預け払い機にFX市場をオンに秘密を学ぶ...どのようなご経験に関係なく、これはあなたのために動作しません!
このユニークなサービスがあなたのアカウントに利益の塚を吸収しているときは、バハマでの休暇上に置くことができます!
それをにチェックアウトする forextradersreview.com ! <a href=http://forextradersreview.com>Broker Nightmare</a>