【问题标题】:OpenPop trouble reading body of emailOpenPop 无法读取电子邮件正文
【发布时间】:2019-12-16 06:09:48
【问题描述】:

我在处理 OpenPop 以阅读电子邮件正文时遇到问题。

我认为问题在于我不知道如何处理图像。

我的最小代码是:

for (int i = messageCount; i > 0; i--)
                {
                    ProcessMessage(client.GetMessage(i)); //the standard call in all examples
                    client.DeleteMessage(i);
                }

public static void ProcessMessage(Message msg)
        {
            //Parse Message
            string from = msg.Headers.From.Address;
            string subject = msg.Headers.Subject;
            string body = "";
            DateTime received = msg.Headers.DateSent;

            if (msg.MessagePart.IsMultiPart == false)
            {
                body = msg.MessagePart.GetBodyAsText();
            }
            else
            {
                for (int i = 0; i < msg.MessagePart.MessageParts.Count; i++)
                {
                    MessagePart part = msg.MessagePart.MessageParts[i];
                    body += part.GetBodyAsText();  **//This is my error line**
                }
            }

我收到一个字节数组不能为空的错误。我不明白我缺少什么,但是当正文中有图像(通常在签名中)时会发生此错误。

【问题讨论】:

  • 在哪里检查 msg.MessagePart 是否为空?
  • 错误发生在此之后。我应该更清楚。线体 += part.GetBodyAsText();导致问题。
  • List list = message.FindAllTextVersions(); ?
  • 谢谢。我会查看您的链接和建议

标签: c# openpop


【解决方案1】:

这是解决我问题的关键:

string body = msg.FindFirstPlainTextVersion().GetBodyAsText();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多