The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 記事閲覧
アイコン PopとImapの違いについて
日時: 2016/12/07 23:45
名前: もんちきTwinTurbo

お世話になります。
前回はお忙しい中アドバイスを下さり、ありがとうございました。
またしてもImapで問題に突き当たり翻弄されています。

過去ログ
http://uwa.potetihouse.com/bbs/patio.cgi?mode=view&no=266
にあった記事を元にテキストとhtml両方のパートを持つメールを作成し送信したところ、
MSN宛に送ったPopでは普通に受信できるのに、同じメールをYahooのImapで
同様に処理しようとすると例外が発生します。

具体的には、
TKMP.Reader.MailReader re = new TKMP.Reader.MailReader(this.MailData.DataStream, false);
は普通に処理されるのですが、
TKMP.Reader.MailReader re = new TKMP.Reader.MailReader(this.IMailData.DataStream, false);
では、reにnullが返ります。

DataStreamにはサイズがありますし、YahooのWebメールでは読めるので
取りあえずメールは送られている様なのですが、
ImapのMailReaderの生成の要領が間違っているのでしょうか?

ご指導いただけると嬉しいです。
よろしくお願いします。
メンテ

Page: 1 |

ファイル Re: PopとImapの違いについて ( No.1 )
日時: 2016/12/08 09:04
名前: もんちきTwinTurbo

書き忘れてしまいました。

当該メールのヘッダーは以下の様になっているので、
マルチパートの設定は間違っていないと思われます。

X-Mailer: TKMP Version 2.0.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_c1af363ad47aba4a9db9"
Content-Length: 92558

また、その後他にもマルチパートのメールを作成して送ってみたところ
正常に受信できたので、どうも特定のメールに関した状況のようです。
メンテ
ファイル Re: PopとImapの違いについて ( No.2 )
日時: 2016/12/08 12:54
名前: もんちきTwinTurbo

何度も済みません。

見落としておりましたが、
http://uwa.potetihouse.com/bbs/patio.cgi?mode=view&no=739
このスレッドと同じ内容のようです。

ただ、残念ながらこのスレッドには続きがないため、
その後のことが分かりません。
メンテ
ファイル Re: PopとImapの違いについて ( No.3 )
日時: 2016/12/09 07:20
名前: Toki◆pRU.c9X.EOI

this.MailData.DataStream
の内容に違いがあるのだと思われます。
ファイルに保存して比較してみてはどうですか?

メンテ
ファイル Re: PopとImapの違いについて ( No.4 )
日時: 2016/12/09 09:06
名前: もんちきTwinTurbo

Toki様
お忙しい中、ご指導ありがとうございます。

>ファイルに保存して…

なるほど。
それをお聞きして、「インデックスの範囲外」エラーの意味が分かりました。
バイト配列に置き換わらないエラーの可能性があるということなんですね。
(違うのかな…)

早速やってみます。

ありがとうございました。
メンテ
ファイル Re: PopとImapの違いについて ( No.5 )
日時: 2016/12/10 17:07
名前: もんちきTwinTurbo

保存して比較してみました。

結果、htmlパートのソース内に、
=0A(改行コード)が含まれているメールのストリーム
(quoted-printableで、1ページ分全部が1行になっている)から
readerを生成しようとするとインデックスの例外が起きるみたいです。

保存したhtmlパートのデータを検索して
=0A を \r\n に置き換えてから生成すると
普通に処理できるようになりました。

これは送られてくるメール次第なので、
例外が起きた時だけ書き出して加工する位しか
方法がないですね…
メンテ

Page: 1 |

題名 スレッドをトップへソート (必ず題名内に日本語を使用してください)
名前
E-Mail
URL
パスワード (記事メンテ時に使用)
コメント 顔smile01.gif 顔smile02.gif 顔smile03.gif 顔smile04.gif 顔smile05.gif 顔smile06.gif 顔smile07.gif

   クッキー保存