tokenの日記: exim4でau携帯に日本語メール 1
前回、 DDNS自宅サーバとGmailをEximでつなげたい で、自宅サーバ内に置いたExim4からgmailを通じて携帯電話に英字メールを送るのは完了した。そいで、課題は日本語でメールを送る事になった。とりあえず、プログラムから動かすんじゃなくて、コンソールのmailコマンドから動かしてみる事にしている。
今日は、メールのヘッダで、強引に携帯で読める形に変換できないものか、と調べてみたけどダメだったので、とりあえず、Fromヘッダに日本語を含める方法を調べてきた。
http://iandeth.dyndns.org/mt/ian/archives/000628.html
日本語の文字をBase64して、前後に特別な文字を追加してやれば(参考URLのエンコード済み文字を送ってみたら)、日本語のFromを送る事が出来た。同様にSubjectにも同じ処理をすれば日本語を配信する事が出来た。参考URL先では、base64する前にISO-2022-JPでエンコードしておいてから、みたいな事が書かれてるけど、この二つに関してはそんな処理は不要だった。プログラムから使う場合は、明示的に指定する必要があるかもしれない。
本文部分は、どうも勝手が違うようで、Subjectと同じ内容を書いたけれど、書いた文字がそのまま出てしまった。
即席
# moca scriptにbase64する関数が定義されてた
# 即席の間に合わせmoca script。選択箇所を取得する方法がわからなかったので、クリップボード経由で処理するようにした。
//
// base64.ms
// $Id: $
//
/////////////////////////////////////////////////////////////////////////////
// コマンド宣言
#command Convert "base64"
#command Convert.base64 "&base64"
/////////////////////////////////////////////////////////////////////////////
// コマンド処理
// ウインドウの有無をチェックする。
if (!view)
error("ウインドウが開いていません.");
switch (command) {
case "Convert.base64":
var base = getClipboardText();
var encoded = base.encodeBase64();
insertText("=?iso-2022-jp?B?"+encoded+"?=");
break;
default:
error("不明コマンド: " + command);
}
# また関係ないけど、peggyproがsubversionに対応してた。
うーん。Content-typeヘッダを指定してもダメだなあ・・。
exim4でau携帯に日本語メール 1 More ログイン