使用OpenPop.NET删除邮箱中的消息

See*_*eer 3 c# pop3

我正在使用OpenPop.NET客户端通过Pop3协议访问我的邮箱。除了一件事情,一切都很好:我无法删除邮件。即使从官方站点获取样本也无济于事。我已经尝试过使用多个邮件服务器:gmail.com,yandex.ru,rambler.ru情况是相同的。

更新-添加代码。

static void Main(string[] args)
{
    DeleteMessageOnServer("pop.gmail.com", 995, true, USERNAME, PASSWORD, 1);
}

public static void
    DeleteMessageOnServer(string hostname, int port, bool useSsl, string username,
    string password, int messageNumber)
{
    // The client disconnects from the server when being disposed
    using (Pop3Client client = new Pop3Client())
    {
        // Connect to the server
        client.Connect(hostname, port, useSsl);

        // Authenticate ourselves towards the server
        client.Authenticate(username, password);

        // Mark the message as deleted
        // Notice that it is only MARKED as deleted
        // POP3 requires you to "commit" the changes
        // which is done by sending a QUIT command to the server
        // You can also reset all marked messages, by sending a RSET command.
        client.DeleteMessage(messageNumber);

        // When a QUIT command is sent to the server, the connection between them are closed.
        // When the client is disposed, the QUIT command will be sent to the server
        // just as if you had called the Disconnect method yourself.
    }
}
Run Code Online (Sandbox Code Playgroud)

JTe*_*Tew 5

调用该.DeleteMessage(messageNumber);方法时,会删除通过该方法标记的电子邮件.Disconnect();

  • 您的答案应标记为正确。调用.DeleteMessage(idx)或.DeleteAllMessages()之后,必须调用.Disconnect()才能真正执行删除操作。无论出于什么原因 (2认同)