掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphi2005 & indy9 でのメール送信 (ID:40768)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もし、本当にIndy9のSend関数を実行中にフリーズしているのなら、 IdMessageClient.pasを自分のプロジェクトのフォルダにコピーして、 以下のように自前のStatusメッセージを出すように追加して実行すれば、 メール本文のどの行をEncode中に止まってるのかをチェックできるよ。 納入先での実行時のStatusをモニタするならStatusメッセージをファイルに 書き出す方が良いけど。 procedure TIdMessageClient.SendBody(AMsg: TIdMEssage); var ................... begin ................... else begin DoStatus(hsStatusText, [RSMsgClientEncodingText]); // Write out Body //TODO: Why just iso2022jp? Why not someting generic for all MBCS? Or is iso2022jp special? if TransferEncoding = iso2022jp then begin for i := 0 to AMsg.Body.Count - 1 do begin if Copy(AMsg.Body[i], 1, 1) = '.' then begin DoStatus(hsStatusText, [Format('Encoding %d line:%s',[i, AMsg.Body[i]])]); // これを追加 WriteLn('.' + Encode2022JP(AMsg.Body[i])); end else begin DoStatus(hsStatusText, [Format('Encoding %d line:%s',[i, AMsg.Body[i]])]); // これを追加 WriteLn(Encode2022JP(AMsg.Body[i])); end; end; end else begin WriteBodyText(AMsg); end; end; DoStatus(hsStatusText, ['SendBody Complete']); // これを追加 finally EndWork(wmWrite); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.