【问题标题】:'Command "list "inbox" "*"" failed' while using MailSystem.net使用 MailSystem.net 时“命令”list“inbox”“*”“失败”
【发布时间】:2018-04-12 15:04:43
【问题描述】:

我正在尝试使用 MailSystem.Net 从我的 gmail 帐户中检索邮件,但出现上述错误。我似乎没有在 googl 上找到与此类错误相关的任何链接。这是我的代码

public class MailRepository
        {
            private Imap4Client client;
            public MailRepository(string mailServer, int port, bool ssl, string login, string password)
            {
                if (ssl)

                    Client.ConnectSsl(mailServer, port);
                else

                    Client.Connect(mailServer, port);


            }
            public IEnumerable<Message> GetAllMails(string mailBox)
            {
                return GetMails(mailBox, "ALL").Cast<Message>();
            }

            public IEnumerable<Message> GetUnreadMails(string mailBox)
            {
                return GetMails(mailBox, "UNSEEN").Cast<Message>();
            }

            protected Imap4Client Client
            {
                get { return client ?? (client = new Imap4Client()); }
            }

            private MessageCollection GetMails(string mailBox, string searchPhrase)
            {
                Mailbox mails = Client.SelectMailbox(mailBox);
                MessageCollection messages = mails.SearchParse(searchPhrase);
                return messages;
            }
        }

这是我得到的错误:命令“list”inbox“*”失败:171031010631135 BAD Unknown command b7mb174701481wmf

 private void ReadImap()
        {
            var mailRespository = new MailUtil.MailRepository("imap.gmail.com", 993, true, "myGmailAccount", "Mypassword");
            var emailList = mailRespository.GetAllMails("inbox");
            foreach(Message email in emailList)
            {
                //DoSomething

                if(email.Attachments.Count > 0)
                {
                    //DoSomething
                }
            }
        }

我做错了什么??我只是出于演示目的复制我在此处在线阅读的内容。

【问题讨论】:

  • 请提供完整的错误和回溯。如果相关,在您的问题中
  • Command "list "inbox" "*"" failed : 171031010631135 BAD Unknown command b7mb174701481wmf 是我遇到的错误之一。我将其编写为服务,并将错误记录到文件夹中。我可以在我创建的日志文件夹中找到一系列命令“列表”收件箱“错误
  • 您似乎从未登录过。您传递了您的用户名和密码,但从不使用它。
  • 再次,在您的问题中提供您的全部错误。按编辑链接更改您的问题并提供所有相关信息。
  • 刚刚做了

标签: c# imap gmail-imap


【解决方案1】:

您尝试过登录吗?

您似乎收到了该错误,因为您从未登录过,因此 LIST 命令无效。

从您的示例中,您删除了 Client.Login:

    public MailRepository(string mailServer, int port, bool ssl, string login, string password)
    {
        if (ssl)
            Client.ConnectSsl(mailServer, port);
        else
            Client.Connect(mailServer, port);
        Client.Login(login, password); // LINE YOU MISSED
    }

【讨论】:

  • 我刚刚尝试修改代码以确保我能够登录。我目前能够登录。当我想获取当前的未读消息时,我得到了错误
  • 提供您在问题中使用的代码。您当前的代码未登录,这就是您收到此错误的原因。您必须在每个连接上登录!
  • 我想我得到你一点。就像我说的,我只是在使用我在网上阅读的内容来练习。仍然没有掌握它.. 你说我目前无法登录,但在我使用的代码中,我的 gmail 凭证在那里。我还需要做什么才能登录吗?你可以帮助一个代码sn-p
  • 您将用户名和密码传递给您的函数。你不使用它。您是否尝试过示例中所示的 .login() 函数?
  • 是的,就在 Client.Connect 之后:Client.Login(login, password);你应该有一堆额外的换行符。
猜你喜欢
  • 2018-09-28
  • 1970-01-01
  • 2022-01-24
  • 2017-02-13
  • 2019-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多