The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 記事閲覧
アイコン TKMP.dllでのエラー
日時: 2014/08/18 11:57
名前: TT

いつもTKMP.dllをつかわせていただきありがとうございます。
今回下記のようなエラーがでましたので
同じような現象に合った方、または解決方が分かる方などいらっしゃいましたら
ご教授いただけると助かります。

----------------------------------------------------------------------
' IMAP 用基本認証
Dim logon As BasicImapLogon = New BasicImapLogon(id, pass)
'U_ID,U_PASSはそれぞれサーバID(ユーザ名)とサーバーパス
' IMAP 用ログイン( 993 は、SSL 用 )
Dim client As ImapClient = New ImapClient(logon, ImapServer, 993)
'ImapServerにはサーバのアドレスが入ります。
' SSL で接続する
client.AuthenticationProtocol = AuthenticationProtocols.SSL
Try
' 接続
client.Connect()
Catch ex As Exception
Debug.Print(ex.Message)
End Try
Dim md_i As MailData_Imap()
' メールデータ一覧の取得
Try
md_i = client.GetMailList()
Catch ex As Exception
Debug.Print(ex.Message)
End Try
' メールデータの数
Console.WriteLine(md_i.Length)
' メールデータの本文を取得
Dim reader As MailReader = Nothing
Dim Body_data As System.IO.Stream = Nothing
' 全て表示
For i As Integer = 0 To md_i.Length - 1

(略)

Next

----------------------------------------------------------------------

上記のようなプログラムを組んでいるのですが
中程の
「md_i = client.GetMailList()」
というところでエラーが発生してしまいます。
エラー内容としては
「Int32型の値が大きすぎるか、または小さすぎます。」
といった内容でした。
これは何かTKMPのルールに沿っていないために発生するものでしょうか。
もしそうでしたら回避方法などをおしえていただければ幸いです。
また送った設定したるメールアドレスにはそこまでたくさんのメールや
容量の大きいメールは送られていませんでした。
それと、現時点では複数のアドレスで試したのですが、発生したのは特定のアドレスだけでした。
(※これらの複数のアドレスはドメインは同じものを使用している中でのエラーになります)

動作環境はWin7Pro(32bit)です。
メンテ

Page: 1 |

ファイル Re: TKMP.dllでのエラー ( No.1 )
日時: 2014/08/21 08:13
名前: Toki◆pRU.c9X.EOI

IMAPでの接続のようですので、
client.GetMailList()
の実行前にDefaultMailboxを明示的に設定してはどうですか?

また、特定のアカウントだけエラーが出るようなら
通信ログを取得することで原因がわかるかもしれません

メンテ
ファイル Re: TKMP.dllでのエラー ( No.2 )
日時: 2014/09/02 12:01
名前: TT

Tokiさま
返信遅くなり申し訳ありません。
また、お忙しい中ご返信ありがとうございました。

いただいたアドバイスを参考にプログラムを組み直させていただいたのですが
client.GetMailList()の通信ログをとると

〜前略〜
>0004 OK LIST completed
>* 3 EXISTS
>* 0 RECENT
>* OK [UIDVALIDITY 2040125440] UIDs valid
>* OK [UIDNEXT 115642] Predicted next UID
>* FLAGS (\Answered \Flagged \Deleted \Seen \Draft $MDNSent)
>* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $MDNSent)] All
>0005 OK [READ-WRITE] SELECT completed
//-------@特定のアカウントだとここまでしか取得できない-----//
>* 1 FETCH (UID 115639 FLAGS (\Deleted \Seen) RFC822.SIZE 39193)
>* 2 FETCH (UID 115640 FLAGS (\Deleted \Seen) RFC822.SIZE 1015)
>* 3 FETCH (UID 115641 FLAGS (\Deleted \Seen) RFC822.SIZE 1014)
>0006 OK FETCH completed
〜後略〜

上記のようなログが取れるのですが
その特定のアカウントだと@より前しかとれず
以降の部分で以前に述べた
「Int32型の値が大きすぎるか、または小さすぎます。」
というエラーが発生してしまいます。
※@以降のログは別アカウントで取得したものです。

自分でも探っているのですが
もし何かご存知の情報等いただければ幸いです。
度々ご質問で申し訳ありませんがよろしくお願いします。
メンテ

Page: 1 |

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

   クッキー保存