Outlook添付のREQUEST.icsが0バイトになNo.03914
flight さん 18/09/11 20:18
 
はじめまして。Flightと申します。

仕事で秀丸メールを利用させていただいています。
メールには、Outlookのカレンダー機能?を使って予定が送られてくることがあります。
それは添付ファイルRequest.icsによって実現されています。

古い議事(14/03/19 19:05 No.45913)において、それに関することが
書かれていて、その対応を過去に秀丸メールに対応したとあります。

現在最新のVer6.86より古い版の秀丸メール(正確な版はわかりませんが、数年前の
版のようです)の場合、
そのRequest.ics添付ファイルを保存すると、数百バイト程度になります。
しかし、最新のVer6.86(それよりちょっと前もだめ)で添付ファイルを保存すると0
バイトに
なってしまいます。

仕事場から情報を外部にだせないのでログなどの情報提供できないのですが、
過去の版では出来て、最近の版では出来ないので、何らかの理由でレベルダウンして
いると
思われます。

不具合でしたら、対応をお願いしたいと思います。

以上 よろしくお願いいたします。





[ ]
RE:03914 Outlook添付のREQUEST.icsが0バNo.03917
秀まるお2 さん 18/09/12 09:02
 
 秀丸メールでお手数かけてすみません。

 まず、45913番のカイトさんからの話を読み直して、当時問題だったメールを最新
版の秀丸メールでインポートするテストをした限りでは、一応「request.ics」の添
付ファイルは正しく出てくるようでした。

 当時問題になったメールについて説明させていただきますと・・・

 普通は添付ファイル付きのメールというのは、いわゆるマルチパートMIME形式とい
って、

    Content-Type: multipart/mixed; boundary="...."

 みたいになって、メール本文相当の所にメール本文のパートや添付ファイルのパー
トなどが区切られて入ってる形になります。当時問題になったメールはそうじゃなく
て、

    Content-Type: text/calendar; method="REQUEST; charset="utf-8"

 と、メール本文相当の所がそのまま添付ファイルそのものになってました。その添
付ファイルの中身は、

    BEGIN:VCALENDAR
    PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
    VERSION:2.0
    METHOD:REQUEST
    ....
    ....
   

 のような形のUTF-8文字コードのテキストデータになってました。

 当時は、この「text/calendar」をメール本文と解釈してしまってて、添付ファイ
ルは付かずにメール本文のみが出てきてました。それをうまく対応した結果、メール
本文にも上記内容が出つつ、「REQUEST.ics」って添付ファイルとしても出てくるよ
うにしたということになります。

 サンプルメールを1つ作ってみました。

-----------------------------------------------------------
From: A
To:   B
Subject: test
Date: Wed, 12 Sep 2018 09:00:00 +0900
Content-Type: text/calendar; method="REQUEST"; charset="utf-8"
Content-Transfer-Encoding: 8bit

BEGIN:VCALENDAR
END:VCALENDAR
-----------------------------------------------------------

 こういうサンプルメールを、たとえば「temp.eml」とかのファイルに保存してイン
ポートするテストをすると、たしかに「REQUEST.ics」が生成されてることが確認で
きると思います。REQUEST.icsファイルをメモ帳か何かにドラッグすれば中身も確認
できると思います。(上記例だとBEGIN:VCALENDAR〜END:VCALENDARの2行のみですが)

 ということですみませんがお願いがありまして・・・

 1.問題のメールを選択する。
 2.「検索」メニューの「関連するメール - このメールのログ」を実行してから、
   「そのまま開く」として受信ログを開いて、中身が上記のような形式とどう
   違ってるのか比べてみてほしい。

 です。

 たとえば

   − メール本文相当の所(上記例のBEGIN:VCALENDAR以降)が存在せずに空に
なってる。
   − Content-Type:の内容が違う。たとえばtext/calendarじゃない。

 とか分かれば、その違ってる所の内容など教えてほしいです。

 それが分かればこちらでも再現テストが出来ると思います。

 どうでしょうか。

[ ]
RE:03917 Outlook添付のREQUEST.icsが0バNo.03932
flight さん 18/09/12 18:32
 
秀まるお2さん

お忙しい中、詳しいコメントありがとうございます。

・サンプルメール
正しくデコード出来ています。

・差分について
以下の差分を発見しました。(他に見落としの可能性あり)

1)Content-Type: text/calendar; method="REQUEST"; charset="utf-8"
  影響なさそうですが、以下のようになっていました。
    Content-Type: text/calendar; charset="utf-8"; method="REQUEST"

    順番が違います。

2) Content-Transfer-Encoding: 8bit
    以下は影響がありそうです。
 
   Content-Transfer-Encoding: base64

    base64でエンコードされています。
  また、Mailそのものがhtmlメール形式で送信されていました。

  メール本文は、秀丸メールでの表示でも、htmlとして表示しても正しく表示でき
ていました。
    REQUEST.icsファイルが0バイトになることが問題です。

    教えていただいた情報から連想して回避策が見つかりました。

    今回のような予定が入ったメールの場合、以下の操作を行えば、Outlookで正し
い情報が見えました。
    (要Outlookインストール)

    a)メールを一覧で選択。
    b)検索/関連するメール/ログをOutlook Expressで開く

  秀丸メールを修正しなくてもとりあえず回避できました。

以上のような情報を提供させていただきましたが、お役に立ちますでしょうか?

> 秀丸メールでお手数かけてすみません。
> ......
> どうでしょうか。

[ ]
RE:03932 Outlook添付のREQUEST.icsが0バNo.03934
秀まるお2 さん 18/09/12 22:45
 
 比較していただいた内容が僕の想定と違うようで、Outlook 2007ではたぶん再現は
不可だと思いまして、Office365 Soloの体験版をインストールして、それのOutlook
を使ってテストしてみました。

 問題のメールは以下のようにして作成してみました。

 1.Outlookの予定表のページを選択する。
 2.リボンの中の「ホーム」タブの中の「新しい会議」をクリック
 3.宛先に自分の別メールアドレスを指定して、適当な開始時刻/終了時刻を指定
   して送信。
 4.届いたメールが問題のメールではないか?

 ということで生成されたメールは、たしかにHTMLメールになっていて、REQUEST.ic
sファイルも添付されてました。

 ただ、REQUEST.icsの中身は空っぽになることは無く、現象の再現には至りません
でした。

 それとは別に・・・メール本文が狂ってるようでした。

 < h t m l x m l n s : v = " u r n : s c h e m a s - m i c r o s o f t - c o
 m :....

 のような、1文字毎に空白の混じったへんてこな本文が出てきてしまいました。さ
らにメール本文の後ろの方を見ると、REQUEST.ics添付ファイルの中身もくっついて
来ました。

-----------------------------text/calendar-----------------------------
BEGIN:VCALENDAR
METHOD:REQUEST
.....

 みたいな具合で。

 ちなみに上記方法で生成されたメールの受信ログのmultipart-mimeの具合はこんな
感じでした。

Content-Type: multipart/alternative;
    boundary="_000_SG2PR01MB13252568FE7AD1376898B7ECC31B0SG2PR01MB1325apcp_"

--_000_SG2PR01MB13252568FE7AD1376898B7ECC31B0SG2PR01MB1325apcp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

.... base64エンコードされた内容....

--_000_SG2PR01MB13252568FE7AD1376898B7ECC31B0SG2PR01MB1325apcp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

.... base64エンコードされた内容....

--_000_SG2PR01MB13252568FE7AD1376898B7ECC31B0SG2PR01MB1325apcp_
Content-Type: text/calendar; charset="utf-8"; method=REQUEST
Content-Transfer-Encoding: base64

.... base64エンコードされた内容....

--_000_SG2PR01MB13252568FE7AD1376898B7ECC31B0SG2PR01MB1325apcp_--

 とりあえずこんな感じのメールだと思うんですが、もし違ってる所があればまた教
えてほしいなぁと・・・。

 text/calendarがメール本文と同列に並んでるようなので、それで秀丸メールがう
まく解釈できてないのかなぁと思います。明日詳しく調べてみます。

[ ]
RE:03934 Outlook添付のREQUEST.icsが0バNo.03941
秀まるお2 さん 18/09/13 16:25
 
 もう1つ、手元にREQUEST.ics添付ファイル付きメールがありました。

 2015年の12月頃ですが、とあるユーザー様からREQUEST.icsがうまく出てこない
メールがあるという話があって、そのときいただいたサンプルメールがありました。
中身的にはOffice365で作ったメールと似てますが、text/plainパートが無いようで
した。

 その当時のサンプルメールも含めて、以下に2つのサンプルパターンを作ってみま
した。これと比べてどこが違いそうか教えていただければ、再現のヒントになるかな
ぁと思います。例えば以下の内容を「temp.eml」とかのファイルに保存して、それを
インポートさせると再現できます。

------------パターン1:text/plain、text/html、text/calendarのトリプルパート
の例------------
From: A
To: B
Subject: test1
Content-Type: multipart/alternative; boundary="boundary"

--boundary
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

dGVzdC1wbGFpbg0K

--boundary
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

dGVzdC1odG1sDQo=

--boundary
Content-Type: text/calendar; charset="utf-8"; method=REQUEST
Content-Transfer-Encoding: base64

dGVzdC1jYWxlbmRhcg0K

--boundary--

------------パターン1おわり-------------------------------------------------
---------------



------------パターン2:text/html、text/calendarのデュアルパートの例--------
---------------
From: A
To: B
Subject: test2
Content-Type: multipart/alternative; boundary="boundary"

--boundary
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

dGVzdC1odG1sDQo=

--boundary
Content-Type: text/calendar; charset="utf-8"; method=REQUEST
Content-Transfer-Encoding: base64

dGVzdC1jYWxlbmRhcg0K

--boundary--

------------パターン2おわり------------------------------------------------
---------------

[ ]
RE:03941 Outlook添付のREQUEST.icsが0バNo.04039
flight さん 18/10/03 19:25
 
こんばんは!

返信遅くなりましたが、よろしくお願いします。

Outlookからのデータは以下のようになっています。
------------------------------------------------------------
Content-Type: text/plain; charset="iso-2022-jp"
text data
---0000- &#12316;
content-type:text/html; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
<html>
なにがし
</html>
---000- &#12316;
content-type:text/calender ; charset="utf8"
method=request
Content-Transfer-Encoding: base64
なにがし
--000- &#12316;
------------------------------------------------------------
手書きしたメモから起こしていますので、多少の間違いがあると思いますので、
ご了承ください。

なにかわかりますでしょうか?

> もう1つ、手元にREQUEST.ics添付ファイル付きメールがありました。
> ......
>------------パターン2おわり-----------------------------------------------
>----------------

[ ]
RE:04039 Outlook添付のREQUEST.icsが0バNo.04041
秀まるお2 さん 18/10/04 10:08
 
 手書きしたメモからの記録ということで、本物と違うのだろうなぁと思う点が少し
ありますが、おおよそOffice365で生成した「新しい会議」のメールと同じかなぁと
思います。

 だとしたら、一応秀丸メール的にはうまく解釈できてるはずのような気がします。

 REQUEST.icsファイルもちゃんと生成はされてるけどもサイズが0バイトになると
いうことは、メールの形式自体はうまく解釈できてるけども、base64のデコードでエ
ラーになって、結果REQUEST.icsのサイズが0になってる可能性が高いような気がして
きました。たとえばbase64エンコードされた中身がでたらめに文字化けしてたりする
とそういうことがありえます。

 そうなってくると、base64エンコードした中身まで教えてもらわないと再現不可な
ので、ちょっと無理があります。

 あとなんとかテストしていただくとしたら、dump.txtを取る設定にしてもう一度デ
コードしなおしてみて、dump.txtにどういう記録が出るか教えてもらう作戦がありま
す。一応やり方を説明させていただきますと、

 1.「設定 - 全般的な設定...」の「上級者向け - 動作の記録」の「秀丸メール
の動作をdump.txtに記録する」をONにする。
 2.問題のメールを選択して「編集 - 受信解析のやり直し」を実行する。
 3.秀丸メールのデータ用フォルダに存在してるはずのdump.txtファイルを秀丸エ
ディタやメモ帳で開いて、デコード時の記録を見る。

 です。たとえば今回のようなメールだと、「Decoding BASE64...」って記録が3つ
出るはずになりまして、成功する例だと、

09:15:09.126 (2973) Decoding BASE64 size=18 sum=1412 crc=1A5EA6CF start="dGV
zdC1wbGFpbg0K..
09:15:09.126 (3055) Result: size=12 sum=1048 crc=C948155C cCR=1 cInvalid=0
09:15:09.126 (2973) Decoding BASE64 size=18 sum=1385 crc=A88ED109 start="dGV
zdC1odG1sDQo=..
09:15:09.126 (3055) Result: size=11 sum=953 crc=68E3267E cCR=1 cInvalid=0
09:15:09.126 (2973) Decoding BASE64 size=22 sum=1846 crc=C9C2D0B4 start="dGV
zdC1jYWxlbmRhcg0K" end="VzdC1jYWxlbmRhcg0K.."
09:15:09.126 (3055) Result: size=15 sum=1342 crc=CE2DCDF3 cCR=1 cInvalid=0
09:15:09.126 (2367) CreateAttachFolderSub 5,受信添付\181004_01\

 みたいに「Result:  .....   cInvalid=0」みたいなのが3つ出る手はずになります。

 失敗する例だと、たとえば

10:00:51.414 (2973) Decoding BASE64 size=18 sum=1412 crc=1A5EA6CF start="dGV
zdC1wbGFpbg0K..
10:00:51.414 (3055) Result: size=12 sum=1048 crc=C948155C cCR=1 cInvalid=0
10:00:51.414 (2973) Decoding BASE64 size=18 sum=1385 crc=A88ED109 start="dGV
zdC1odG1sDQo=..
10:00:51.414 (3055) Result: size=11 sum=953 crc=68E3267E cCR=1 cInvalid=0
10:00:51.414 (2973) Decoding BASE64 size=80 sum=2554 crc=1ED496A7 start=
"!!!!!!!!!!!!!!!!!!!!" end="!!!!!!!!!!!!!!!!!!.."
10:00:51.414 (3055) Result: size=0 sum=0 crc=00000000 cCR=2 cInvalid=76

 みたいに、「cInvalid=XXXX」の所が0以外になります。

 こういう記録が出てるとしたら、BASE64のデコードに失敗してるんだと思います。

 仮にそうだとしたら、なぜ失敗するのかは、やはりBASE64エンコードしたデータ自
体を提供してもらわないとダメになってしまうので、解決困難ってことになってしま
います。

 現状では再現データが無いので、こうやってある程度の絞り込みだけお願いするし
か無いです。すみませんがもし可能でしたらお願いします。
 (結局解決出来ないような気がするけど)


[ ]
RE:04041 Outlook添付のREQUEST.icsが0バNo.04993
piroky さん 19/04/01 09:04
 
初めまして、pirokyです。
いつも秀丸メール便利に使わせていただいております。
こちらでもREQUEST.icsのサイズが0になっています。
よろしければ直接Office365からそちらへ会議開催通知してもよいのですが、いかが
でしょうか。
(メールアドレスはどこがよいのでしょうか)


> 手書きしたメモからの記録ということで、本物と違うのだろうなぁと思う点が少
>しありますが、おおよそOffice365で生成した「新しい会議」のメールと同じかなぁ
>と思います。
> ......
> (結局解決出来ないような気がするけど)

[ ]
RE:04993 Outlook添付のREQUEST.icsが0バNo.04994
秀まるお2 さん 19/04/01 10:05
 
 現象の起きるメールのサンプルがあれば一番テストは簡単になります。

 送っていただく先は、"maruo@mitene.or.jp"でお願いします。

[ ]
RE:04994 Outlook添付のREQUEST.icsが0バNo.04995
piroky さん 19/04/01 10:41
 
送付いたしました。
送信元は会社のアドレスです。
xxxxx@uxxxdx.co.jpです。

> 現象の起きるメールのサンプルがあれば一番テストは簡単になります。
>
> 送っていただく先は、"maruo@mitene.or.jp"でお願いします。

[ ]
RE:04995 Outlook添付のREQUEST.icsが0バNo.04996
秀まるお2 さん 19/04/01 10:55
 
 メール届きました。たしかにREQUEST.icsファイルのサイズが0で出てきました。

 受信ログを見たら、ちゃんとbase64エンコードした内容があるようです。

 詳しく調べてまたお返事させていたたきます。

[ ]
RE:04996 Outlook添付のREQUEST.icsが0バNo.04997
秀まるお2 さん 19/04/01 13:34
 
 テストして一発で再現して、もっと詳しく調べたら、特に今回送っていただいた物
が今まで僕の把握してない形式だった訳では無いようでした。

 僕の所のOutlookを使ってテストしても再現しました。

 以前テストした時は、自前のテストメールで全然再現しなかったんですが、なぜ今
になって再現するようになったのやら?。ちょっと理由が分からずですが・・・

 とにかくそういうことで、再現できるようになりました。

 次のVersion 6.90β17にて対応させていただきます。今日か明日中にアップロード
させていただきます。

[ ]
RE:04997 Outlook添付のREQUEST.icsが0バNo.04998
piroky さん 19/04/01 14:26
 
よろしくお願いします。
> テストして一発で再現して、もっと詳しく調べたら、特に今回送っていただいた
>物が今まで僕の把握してない形式だった訳では無いようでした。
> ......
> 次のVersion 6.90β17にて対応させていただきます。今日か明日中にアップロー
>ドさせていただきます。

[ ]
RE:04998 Outlook添付のREQUEST.icsが0バNo.05000
piroky さん 19/04/02 08:33
 
ベータ版を入れて、先に送付した、依頼のキャンセルメールをしました。
icsファイルも0バイトでなく、読み出すことができました。
ありがとうございました。

>よろしくお願いします。
>> テストして一発で再現して、もっと詳しく調べたら、特に今回送っていただいた
>物が今まで僕の把握してない形式だった訳では無いようでした。
>> ......
>> 次のVersion 6.90β17にて対応させていただきます。今日か明日中にアップロー
>ドさせていただきます。

[ ]
RE:05000 Outlook添付のREQUEST.icsが0バNo.05001
秀まるお2 さん 19/04/02 08:58
 
 キャンセルメール(CANCEL.ics)も届きました。うまくデコードできてるようでし
た。

 おかげさまで長年再現できてなかったバグが修正できました。ありがとうございま
した。

 そろそろ正式版にしようと思います。

[ ]