indyのメール送信でSubjectの文字数に制限があるのでしょうか?


ジョージ  2008-07-26 03:07:24  No: 31356

はじめて投稿します。宜しくお願いします。

delphi2005でindyを使ってメール送信しています。
Subjectの文字数が16文字を超えると17文字目から文字化するのですが、
原因が絞りこめません。(半角全角混在です)
bodyの方は文字化けしません。
indyでsubjectの文字数に制限があるのでしょうか?


もしかして  2008-07-26 21:39:11  No: 31357

Indy9なのかな… こちらが参考になる?
http://blogs.yahoo.co.jp/diamondhead_makoto/68221.html


ジョージ  2008-07-28 23:18:26  No: 31358

「もしかして」さん  ありがとうございます。

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


冗談は…  2008-07-29 02:13:24  No: 31359

>w_asubject := jconvert.ConvertJCode('1234567890123456789012345', JIS_OUT);
>asubject := jconvert.CreateHeaderString2(w_asubject);

真琴:「CreateHeaderString2だけでイイのに、JIS変換してからまた変換してる…」
春子:「そうネ、これじゃぁ、うまくいくワケないよ」
真琴:「余計なコトをしちゃうのは、メールの仕様が分かってナイからだよネ?」
春子:「ていうか、CreateHeaderString2がやってるコトを理解してないってコトかな?」
真琴:「ハルコさん、それよりか、モトはと言えば、Indy9がダメなんじゃない?」
春子:「まぁ、そう言えなくもナイけど…」
真琴:「でも、Indy10に替えるとぉ、また前のソースが使えなくなっちゃうし…」
春子:「そんなコト言ってると、次のIndy11が出ちゃうよ、マコト」
真琴:「えっ? それはイツなの?」
春子:「そんなの、アタシだって知らないヨ、まだその時代まで行ったコトないから」
真琴:「じゃぁ、これから行ってきてくれる? ハルコさん」
春子:「や〜よ、疲れるから、…自分で行けばイイじゃないの、マコト」
真琴:「アタシは自由にタイムトラベルなんか出来ないよ、ただ二年前に戻っただけ」
春子:「そうなの? マコトはまだ初心者マーク付きのタイムトラベラーってワケ?」
真琴:「ハルコさんは、もう上級者?」
春子:「キャリアの差よ、じゃぁ、冗談話はコレくらいにして、アタシは"渚"に戻るからネ」
真琴:「ハルコさん、また今日もスッゴク暑くなりそうなカンジ」
春子:「そうだよね、暑さもイイカゲン冗談にして欲しいンだけど…」


ジョージ  2008-07-29 04:12:39  No: 31360

あらかじめ、JIS変換している理由ですが、実は理由がよく分かってやってるわけではないのですが、
asubjectを次のように指定すると

asubject := jconvert.CreateHeaderString2('1234567890123456789012345');

下のように全て文字化けしてしまいます。
?ISO-2022-JP?B?GyRCIzEjMiMzIzQjNSM2IzcjOCM5IzAjMSMyIzMjNCM1IzYjNyM4IzkjMCMxIzIjMyM0IzUbKEo=?=

そこで、資料名は忘れてしまったのですが、あらかじめshift JISをJISに変換する必要があるとの記述を思い出して、あらかじめJIS変換しています。


冗談まで  2008-07-29 17:41:41  No: 31361

春子:「なんとなく状況が読めてきたヨ、…マコトはどう?」
真琴:「ハルコさん、アタシも読めてきた、このヒト珍しいメーラー使ってるよネ」
春子:「だよね、受信したヘッダをMIMEデコードしないメーラーなんてイマドキある?」
真琴:「もしかしてぇ、自作のメーラーで受信してるンじゃないの?」
春子:「あぁ〜、そういうコトね、けど、それでもまだ完全には納得できないなぁ…」
真琴:「MIMEデコードを忘れてるって言うより、ゼンゼン知らないとか」
春子:「そうね、RFC1522文書なんかも、当然知らないだろうし…どうする? マコト」
真琴:「RFC1522文書の解説から始めるんじゃ、それこそ"ご教授"になっちゃうよね」
春子:「英語の原文は無理でも、まずこのWEBページでお勉強してもらうしかないかな」
        http://www.kanzaki.com/docs/jis-mail.html
真琴:「だけど、ハルコさん、もし受信がIdPOP3ならヘッダもMIMEデコードされるンじゃない?」
春子:「もちろんヨ、だから、そこがフシギというか、納得できないトコなの」
真琴:「そこのトコを質問のヒトがモウちょっと説明してくれないと、困るよね」
春子:「困るといえば、最近の物価上昇もナンとかならないかな、ホント困っちゃう」
真琴:「いろんなモノが値上げされて…、冗談まで値上げとか?」


ジョージ  2008-07-30 17:48:49  No: 31362

アドバイスありがとうございます。
ご指摘のwebページで勉強してみます。

ちなみにメールソフトはBeckyです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加