0

Gmailからメールを取得して読み取るためにImapXライブラリを使い始めたところです。現在、すべてが正常に機能しており、優れたライブラリです。

ただし、Message.Process()オプションを使用して既読のメールにマークを付けようとすると、IndexOutOfRangeExceptionが返されます。

private void Start()
    {
        int amountRead = 0;
        failedMessages.Clear();

        foreach(string origin Properties.Settings.Default.MailOrigins)
        {
            IMailOriginAdapter adapter = MailOriginFactory.CreateMailOriginContainer(origin);

            foreach (ImapX.Message message in adapter.Messages())
            {
                if (SendWebRequest(url))
                {
                    message.Process();
                    amountRead++;

                    Dispatcher.BeginInvoke(new MethodInvoker(delegate
                    {
                        this.btnStart.Content = "Read [" + amountRead + "/" + GmailUser.Instance.Messages.Count + "]";
                    }));
                }
                else
                {
                    failedMessages.Add(message);
                }
            }

            System.Windows.MessageBox.Show(adapter.GmailFromEmail() + " reading completed.");
        }
    }

うまくいけば、誰かが私が今一ヶ月以上抱えているこの問題で私を助けることができるでしょう。

前もって感謝します。

よろしくお願いいたします。Larssy1

4

0 に答える 0