- PR -

Oracleから携帯へのメール送信について

1
投稿者投稿内容
Alxi
会議室デビュー日: 2007/05/03
投稿数: 1
投稿日時: 2007-05-03 16:48
いつもお世話になっております。

表題の件についてご質問があります。
Oracleでメールを送信するプロシージャを作成したのですが
それを利用してSoftBank端末(Vodafone)端末へメールを送信すると
文字化けを起こしてしまいます。
(ちなみにDoCoMo(P端末)へのメールは問題ありませんでした。

おそらくエンコードの方法が違うと思うのですが・・エンコードしている部分の
ソースを転記致します。よろしくお願いします。

PROCEDURE MAIL_TEST IS
BEGIN
smtp := utl_smtp.open_connection(mlsvr, 25);
body := header || body || footer;
utl_smtp.helo(smtp, mlsvr);
utl_smtp.mail(smtp, mlfr);
utl_smtp.rcpt(smtp, mlto1);
utl_smtp.open_data(smtp);
utl_smtp.write_data(smtp, 'To:' || mlto1 || chr(13) || chr(10));
utl_smtp.write_data(smtp, 'From:' || mlfr || chr(13) || chr(10));
utl_smtp.write_data(smtp, 'Subject:=?iso-2022-jp?B?');
utl_smtp.write_raw_data(smtp,utl_encode.base64_encode(utl_raw.cast_to_raw(mlsub)));
utl_smtp.write_data(smtp, '?=' || chr(13) || chr(10));
utl_smtp.write_data(smtp, 'MIME-Version: 1.0' || chr(13) || chr(10));
utl_smtp.write_data(smtp, 'Content-Type: text/plain;' || chr(13) || chr(10));
utl_smtp.write_data(smtp, 'Content-Transfer-Encoding: base64' || chr(13) || chr(10));
utl_smtp.write_data(smtp, chr(13) || chr(10));
utl_smtp.write_raw_data(smtp, utl_encode.base64_encode(utl_raw.cast_to_raw(body )));
utl_smtp.close_data(smtp);
utl_smtp.quit(smtp);
END SEND_MAIL;
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-05-03 17:14
引用:

Alxiさんの書き込み (2007-05-03 16:48) より:
utl_smtp.write_data(smtp, 'Subject:=?iso-2022-jp?B?');
utl_smtp.write_raw_data(smtp,utl_encode.base64_encode(utl_raw.cast_to_raw(mlsub)));


これを読めば「mlsub」はiso-2022-jpになっているんですかね?そうだとすると
引用:

utl_smtp.write_data(smtp, 'Content-Transfer-Encoding: base64' || chr(13) || chr(10));
utl_smtp.write_data(smtp, chr(13) || chr(10));
utl_smtp.write_raw_data(smtp, utl_encode.base64_encode(utl_raw.cast_to_raw(body )));


bodyは(Encodeがbase64であれば)utf-8にした方がいいのでは?
1

スキルアップ/キャリアアップ(JOB@IT)