HTML メールで言語判定が出来ないNo.01390
マイケル さん 00/11/11 19:04
 
秀まるお様

マイケルです。お世話になってます。

    $Charset = dllfuncstr("RootHeader","Content-Type:");

で言語判定をしようとしてるんですが、またまたMSのメーラと
言うか HTML メールで言語の判定が出来なくて困ってます。

日本語の HTML メールが「日本語以外」と判定されるのでヘッダー
を調べてみたら、下記のようになんと、Content-Type: が2つもあ
るのです。

Content-Type: multipart/alternative;boundary="----=_NextPart_000_005C_01C0412C.
DD4DBE00"
<途中省略>
This is a multi-part message in MIME format.

------=_NextPart_000_005C_01C0412C.DD4DBE00
Content-Type: text/plain;
        charset="iso-2022-jp"

文字列を取り込もうとしたら、iso-2022-jp のある方を取り込んで
くれません。なんとかならないでしょうか?

なお、相手のメーラは
Microsoft Outlook Express 5.00.2314.1300
Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
の2つです。
November 11, 2000 19:03 +0900 (JST)

[ ]
RE:01390 HTML メールで言語判定が出来なNo.01393
ひろ さん 00/11/11 19:54
 
 マイケルさん今日は、ひろです。引用順序変えました。
> Content-Type: multipart/alternative;boundary="----=_NextPart_000_005C_01C0
>412C.
> DD4DBE00"
> <途中省略>
> This is a multi-part message in MIME format.
>
> ------=_NextPart_000_005C_01C0412C.DD4DBE00
> Content-Type: text/plain;
>         charset="iso-2022-jp"
>
> 文字列を取り込もうとしたら、iso-2022-jp のある方を取り込んで
> くれません。なんとかならないでしょうか?
 この方がスッキリするかもしれませんが、本当の Content-Type を取得し
たいときに困ると思います。そこで、macro で multipart が含まれていた
場合、鶴亀メールが付ける header X-Body-Content-Type を取得すればよい
のではないでしょうか?

[ ]
RE:01393 HTML メールで言語判定が出来なNo.01394
マイケル さん 00/11/11 21:10
 
マイケルです。

ひろさんの 本日 午後 7時54分の
“RE 01390 HTML メールで言語判定が出来な”に関して:
====

色々とアドバイスありがとうございます。

>そこで、macro で multipart が含まれていた
>場合、鶴亀メールが付ける header X-Body-Content-Type を取得すればよい
>のではないでしょうか?

そうなんですよね。確かに Outlook Express からのメールはそれで
上手く行くんですが、Outlook IMO(Outlook 2000?)からのメール
は、なぜか

X-Body-Content-Type: multipart/alternative;boundary="----=_NextPart_001_0001_
01C048FA.F7B78FC0"

ってなってるんですよ。ちなみに、このメールはインラインで画像
(写真)を表示する、HPみたいな感じのメールなんです。

「んなメール書くやつ、相手にすんなっ」って言われればその通り
なんですけど、そうも行かなくって…^^;

November 11, 2000 21:09 +0900 (JST)

[ ]
RE:01394 HTML メールで言語判定が出来なNo.01402
ひろ さん 00/11/13 11:48
 
 マイケルさん今日は、ひろです。
> X-Body-Content-Type: multipart/alternative;boundary="----=_NextPart_001_0001_
> 01C048FA.F7B78FC0"
 X-Body-Content-Type header も multipart なんですね。私は問題となる
mail を貰ったことがないので、具体案がありませんm(_|_)m。
 どうにかして元の mail の文字 code を保存しておくことは出来ないので
しょうか? ->秀まるお様

 最後になりますが、文字 code の判定に、2022, euc も日本語の判定に使
っているとのことでしたが、これでは誤動作します。何故ならどちらも日本
語とは限らないからです。例えば、euc-?? は Extended UNIX Code の ?? (
各国の略式表記で、確か ISO で決められている。日本語なら jp、韓国なら
kr 等と決められている) の言語となり、言語の指定はあくまで ?? の部分
です。iso-2022-?? も同様の規則です。

[ ]
RE:01402 HTML メールで言語判定が出来なNo.01405
マイケル さん 00/11/13 13:23
 
マイケルです。

ひろさんの 本日 午前11時48分の
“RE 01394 HTML メールで言語判定が出来な”に関して:
====

> X-Body-Content-Type header も multipart なんですね。私は問題となる
>mail を貰ったことがないので、具体案がありませんm(_|_)m。

調べてみたら、画像ファイル(だけでないかも知れない)が入った
HTML メールの場合、X-Body-Content-Type header に上記のように
なるようですね。

> どうにかして元の mail の文字 code を保存しておくことは出来ないので
>しょうか? ->秀まるお様

だから、上記のような html メールの場合でも X-Body-Content-Type
に iso-2022-jp が入るようして頂けるといいんじゃないかと…。


> 最後になりますが、文字 code の判定に、2022, euc も日本語の判定に使
>っているとのことでしたが、これでは誤動作します。

あ、表現がまずかったです。^^; 試行錯誤のテスト段階でのをその
まんま書いちゃいました。実際には、今は下記のようにしてます。

  if ( strstr($Charset, "jp") < 0 && strstr($Charset, "jis") < 0 )
  {
     英文テンプレート作成;
     endmacro;
  }

たぶん、これだと日本語以外のが引っかかることはないと思います。

色々とご指摘ありがとうございます。
November 13, 2000 13:22 +0900 (JST)

[ ]
RE:01405 HTML メールで言語判定が出来なNo.01409
ひろ さん 00/11/13 16:26
 
 マイケルさん今日は、ひろです。
> だから、上記のような html メールの場合でも X-Body-Content-Type
> に iso-2022-jp が入るようして頂けるといいんじゃないかと…。
 また要望になっちゃいますが、よろしくお願いします。->秀まるお様

> あ、表現がまずかったです。^^; 試行錯誤のテスト段階でのをその
> まんま書いちゃいました。実際には、今は下記のようにしてます。
 完全な蛇足ですから、どうでも良いです(^^;。
>   if ( strstr($Charset, "jp") < 0 && strstr($Charset, "jis") < 0 )
 ただ「-jp」の方が安全でしょうね。

[ ]
RE:01402 HTML メールで言語判定が出来なNo.01420
秀まるお さん 00/11/13 19:03
 
>  X-Body-Content-Type header も multipart なんですね。

 X-Body-Content-Typeもmultipartになるのは鶴亀メールのバグだと思います。

 Outlook 2000 は先日削除してしまいました。また復活させてテストしてみま
す。

[ ]
RE:01420 HTML メールで言語判定が出来なNo.01431
マイケル さん 00/11/14 08:37
 
マイケルです。

秀まるおさんの 昨日 午後 7時 3分の
“RE 01402 HTML メールで言語判定が出来な”に関して:
====

>>  X-Body-Content-Type header も multipart なんですね。
>
> X-Body-Content-Typeもmultipartになるのは鶴亀メールのバグだと思います。
>
> Outlook 2000 は先日削除してしまいました。また復活させてテストしてみま
>す。

こちらでテストした結果、Outlook 2000 からのメールで上記のようになるのではなく、
添付ファイル付きのメールで上のようになります。

1. 画像を html メール内で表示させるメール
2. (画像)ファイルを添付した html メール

下記は上記“2”のヘッダの一部です

| MIME-Version: 1.0
| Content-Type: multipart/mixed;
| boundary="----=_NextPart_000_0007_01C04E15.24F3A180"
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Mailer: Microsoft Outlook Express 5.50.4133.2400
| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
| X-Body-Content-Type: multipart/alternative;boundary="----=_NextPart_001_0008_
01C04E15.24F3A180"


November 14, 2000 08:37 +0900 (JST)

[ ]
RE:01431 HTML メールで言語判定が出来なNo.01449
秀まるお さん 00/11/15 11:16
 
> こちらでテストした結果、Outlook 2000 からのメールで上記のようになるのでは
> なく、
> 添付ファイル付きのメールで上のようになります。

 テストしたら再現しました。んでもって、なんとか修正しました。しかし、受
信解析関係をまたいじってしまったので他のメールでもテストしてみないと怖い
です。

 ってことで、もうしばらくテストしてみます。

[ ]