1

我正在使用 OpenPop.net 尝试从给定收件箱中的所有电子邮件中解析我们的链接。我发现这种方法可以获取所有消息:
`

  public static List<OpenPop.Mime.Message> FetchAllMessages(stringhostname,  
int port, bool useSsl, string username, string password)    
 {

 // 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);

        // Get the number of messages in the inbox
        int messageCount = client.GetMessageCount();

        // We want to download all messages
        List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);

        // Messages are numbered in the interval: [1, messageCount]
        // Ergo: message numbers are 1-based.
        // Most servers give the latest message the highest number
        for (int i = messageCount; i > 0; i--)
        {
            allMessages.Add(client.GetMessage(i)); 
             foreach (var attachment in msg.FindAllAttachments())
             {
                string str = enc.GetString(attachment.Body);
             }                   
        }

        client.Disconnect();

        // Now return the fetched messages
        return allMessages;
    }
}`

还尝试使用这种方式通过 Ascii 字符进行编码:

编码数据

但是,不能成功..我想需要附件文件中的 html。但在 attachment.Body 中给出字节数组。那么,字节数组如何转为 HTML 呢?

4

2 回答 2

0

您可以通过以下方式使用编码:

string result = Encoding.UTF8.GetString(bytes, 0, bytes.length);
于 2019-12-09T15:19:19.753 回答
0

您可以使用 Encoding 从字节流中获取字符串:

string result = Encoding.UTF8.GetString(bytes);

检查您的字符串是 utf8、ascii 还是其他。你可能需要稍微改变一下。

于 2018-08-22T09:23:07.793 回答