The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン 保存したメールを読込むとエラーが発生する場合があります
日時: 2011/08/23 10:55
名前: t.t

TKMPを利用して保存を行ったメールで
本文の最後に改行コードが存在しないメール(CR+LF)は
保存したファイルから読み込むことができません。
(受信時は問題なく本文を見る事ができます)

例えば本文を以下のようなメールを受信するとファイル保存後に再度読み込むことができます。

 test + CR+LF

しかし、以下のような改行コードが無いメールを受信するとファイル保存後に再度読み込むことができません。

 test

※ 最後に改行コードなしで「test」のみで終了している

OS:Windows7(32bit)
DLL:TKMP.DLL(3.0.0.2)及び過去2バージョンで確認

以上、お手数ですが対応をして頂けないでしょうか?

Page: 1 |

ファイル Re: 保存したメールを読込むとエラーが発生する場合があります ( No.1 )
日時: 2011/08/26 23:49
名前: Toki◆pRU.c9X.EOI

ご連絡ありがとうございます。

しかし、ご報告のような現象発生せず、改行コードで終わらないメールも正常に読み出すことができました。

解析プログラムの見直してみましたが、終端の改行コードには特に依存していないので、
それによる違いは発生し内容に思われました。

また、受信時とファイルからの読み出し時も、内部でストリームとして処理しているため、
これについても、処理の違いは発生しません。

メールのプロトコルは行単位で行われるため、そもそも終端に改行コードが無いメールは送信できないのでこの点もやや疑問でした。

受信メールが正常に保存できていないということはありませんか?
ファイル Re: 保存したメールを読込むとエラーが発生する場合があります ( No.2 )
日時: 2011/08/30 22:09
名前: t.t

メールの送信はTKMPのサンプルプログラムから送信を行いました。
(多少のサンプルをいじってはいます)

保存は http://uwa.potetihouse.com/bbs/patio.cgi?mode=view&no=358 を参考に
IO.FileStream で保存を行っています

とりあえずの対応として
バイトに変換した際の 最後の3バイト をチェックし
改行コードが無い場合は
バイトの配列を2バイト拡張し CR+LF を付加するようにしました。

上記の対応を行うことにより再度読み込みを行ったときにエラーは出なくなりました。

Page: 1 |