TNMPOP3で日本語名の添付ファイルを受信したい

解決


うめ  2003-07-03 23:48:28  No: 4004

いつもお世話になっております。
このたび、TNMPOP3コンポーネントを用いてメールを受信しております。
流れ的には、
接続→受信数チェック→受信→コード変換→切断
という形になると思いますが、日本語名を含む添付ファイルを受信しようとすると、上記の流れの中の「受信(GetMailMessage)」のところで例外をおこしてしまいます。
例外を起こさないためにはいかなる方法をとるのがよろしいでしょうか。  

例(骨組み)
if NMPOP3.MailCount > 0 then        
begin
    NMPOP3.AttachFilePath := 'C:\';     //受信フォルダ
    NMPOP3.GetMailMessage( 1 );         //受信  ※ここで例外発生!!
      ・
      ・
      ・
end;


にしの  2003-07-04 00:31:30  No: 4005

TNMPOP3の環境がないので未確認ですが、
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=049267
こちらをどうぞ。


うめ  2003-07-04 00:55:19  No: 4006

ファイル名を受け取るタイミングをイベントで受け取り、そこで文字コードをデコードすればよいわけですね。
ありがとうございました。

procedure TMailRcvForm.NMPOP3DecodeStart(var FileName: String);
var
    szBuffer: string;
begin
    szBuffer := DecodeHeaderString(FileName);  //デコード
    FileName:= jis2sjis( szBuffer );           //SJISに変換して戻す
end;

※jconvertを使用させてもらっております


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

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






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