qmail+vpopmailの環境でDjangoからメールをSMTP認証で送信する

vpopmailを使ってqmailでバーチャルドメイン運用している場合、困った問題がひとつあります。vpopmailがCRAM-MD5に未対応なんですね。

まぁMTAとして運用するにはたいして問題ないんですが、Djangoでメール送信しようとすると大問題、DjangoはSMTP認証のときにパスワードをMD5で暗号化してqmailに送っているようです。よって、qmailから「SMTP認証にコケました。」と叱られてしまうわけです。Djangoが正しいんですけどね。

ので、PLAINでSMTP認証をする方法です。

Pythonで文字列エンコーディング

例えばWindowsクライアントからアップロードされたCSVとかはたいていShift_JISなわけです。Pythonは基本的にUTF-8(Django使ってるから、というのも大きな理由ですな)なので、そのままだとえらいこ … 続きを読む