はじめて投稿します。宜しくお願いします。
delphi2005でindyを使ってメール送信しています。
Subjectの文字数が16文字を超えると17文字目から文字化するのですが、
原因が絞りこめません。(半角全角混在です)
bodyの方は文字化けしません。
indyでsubjectの文字数に制限があるのでしょうか?
Indy9なのかな… こちらが参考になる?
http://blogs.yahoo.co.jp/diamondhead_makoto/68221.html
「もしかして」さん ありがとうございます。
shift Jis をJisに変換した上で、<ソース>の通りにやってみました。
19文字正常に変換するようになりましたが、<結果>の通り、文字化けは発生するようです。
Indyのバージョンは、どうやって確認したらいいのでしょうか?
<ソース>
w_asubject := jconvert.ConvertJCode('1234567890123456789012345', JIS_OUT);
asubject := jconvert.CreateHeaderString2(w_asubject);
abody := jconvert.ConvertJCode(send_msg, JIS_OUT);
:
IdSmtp.QuickSend(ahost, asubject, amailto, afrom, abody);
<結果>
12345678901234567890#1#2#3#4#5
>w_asubject := jconvert.ConvertJCode('1234567890123456789012345', JIS_OUT);
>asubject := jconvert.CreateHeaderString2(w_asubject);
真琴:「CreateHeaderString2だけでイイのに、JIS変換してからまた変換してる…」
春子:「そうネ、これじゃぁ、うまくいくワケないよ」
真琴:「余計なコトをしちゃうのは、メールの仕様が分かってナイからだよネ?」
春子:「ていうか、CreateHeaderString2がやってるコトを理解してないってコトかな?」
真琴:「ハルコさん、それよりか、モトはと言えば、Indy9がダメなんじゃない?」
春子:「まぁ、そう言えなくもナイけど…」
真琴:「でも、Indy10に替えるとぉ、また前のソースが使えなくなっちゃうし…」
春子:「そんなコト言ってると、次のIndy11が出ちゃうよ、マコト」
真琴:「えっ? それはイツなの?」
春子:「そんなの、アタシだって知らないヨ、まだその時代まで行ったコトないから」
真琴:「じゃぁ、これから行ってきてくれる? ハルコさん」
春子:「や〜よ、疲れるから、…自分で行けばイイじゃないの、マコト」
真琴:「アタシは自由にタイムトラベルなんか出来ないよ、ただ二年前に戻っただけ」
春子:「そうなの? マコトはまだ初心者マーク付きのタイムトラベラーってワケ?」
真琴:「ハルコさんは、もう上級者?」
春子:「キャリアの差よ、じゃぁ、冗談話はコレくらいにして、アタシは"渚"に戻るからネ」
真琴:「ハルコさん、また今日もスッゴク暑くなりそうなカンジ」
春子:「そうだよね、暑さもイイカゲン冗談にして欲しいンだけど…」
あらかじめ、JIS変換している理由ですが、実は理由がよく分かってやってるわけではないのですが、
asubjectを次のように指定すると
asubject := jconvert.CreateHeaderString2('1234567890123456789012345');
下のように全て文字化けしてしまいます。
?ISO-2022-JP?B?GyRCIzEjMiMzIzQjNSM2IzcjOCM5IzAjMSMyIzMjNCM1IzYjNyM4IzkjMCMxIzIjMyM0IzUbKEo=?=
そこで、資料名は忘れてしまったのですが、あらかじめshift JISをJISに変換する必要があるとの記述を思い出して、あらかじめJIS変換しています。
春子:「なんとなく状況が読めてきたヨ、…マコトはどう?」
真琴:「ハルコさん、アタシも読めてきた、このヒト珍しいメーラー使ってるよネ」
春子:「だよね、受信したヘッダをMIMEデコードしないメーラーなんてイマドキある?」
真琴:「もしかしてぇ、自作のメーラーで受信してるンじゃないの?」
春子:「あぁ〜、そういうコトね、けど、それでもまだ完全には納得できないなぁ…」
真琴:「MIMEデコードを忘れてるって言うより、ゼンゼン知らないとか」
春子:「そうね、RFC1522文書なんかも、当然知らないだろうし…どうする? マコト」
真琴:「RFC1522文書の解説から始めるんじゃ、それこそ"ご教授"になっちゃうよね」
春子:「英語の原文は無理でも、まずこのWEBページでお勉強してもらうしかないかな」
http://www.kanzaki.com/docs/jis-mail.html
真琴:「だけど、ハルコさん、もし受信がIdPOP3ならヘッダもMIMEデコードされるンじゃない?」
春子:「もちろんヨ、だから、そこがフシギというか、納得できないトコなの」
真琴:「そこのトコを質問のヒトがモウちょっと説明してくれないと、困るよね」
春子:「困るといえば、最近の物価上昇もナンとかならないかな、ホント困っちゃう」
真琴:「いろんなモノが値上げされて…、冗談まで値上げとか?」
アドバイスありがとうございます。
ご指摘のwebページで勉強してみます。
ちなみにメールソフトはBeckyです。
ツイート | ![]() |