0

我正在尝试找到一些代码,可以让我吸出我的 Gmail 帐户中的每封电子邮件,目前使用 Atom 阅读器的代码似乎只读取未读邮件。

我想阅读所有内容,主题,正文和附件。

有没有可能,有没有人有一些工作代码。

戴夫

4

4 回答 4

1

您要做的不是一个简单的应用程序,我们可以帮助您编写一个邮件客户端应用程序,它需要大量的努力阅读许多关于 POP3 或 IMAP 邮件客户端如何工作的文章,您还必须了解RFC 1939和与这些协议相关的RFC 1081文档。无论如何,您必须使用 IMAP 或 POP3 协议来实现您的邮件客户端应用程序,您可以参考它们之外的许多文章。

SMTP 和 POP3 邮件服务器

C# .NET 中的 POP3 客户端

和 RFC 文档:

邮局协议

于 2011-09-13T08:28:25.337 回答
0

了解如何从 XML 中读取信息,您可以从此提要https://mail.google.com/mail/feed/atom获取您想要的 Gmail 上的所有信息。我在下面有一个示例代码,它读取未读消息的数量并读取标题和摘要,但您可以从谁、附件等处获得其他信息。不需要额外的库:)

        try
        {
            System.Net.WebClient objClient = new System.Net.WebClient();
            string response;
            string title;
            string summary;

            //Creating a new xml document
            XmlDocument doc = new XmlDocument();

            //Logging in Gmail server to get data
            objClient.Credentials = new System.Net.NetworkCredential("Email", "Password");
            //reading data and converting to string
            response = Encoding.UTF8.GetString(objClient.DownloadData(@"https://mail.google.com/mail/feed/atom"));

            response = response.Replace(@"<feed version=""0.3"" xmlns=""http://purl.org/atom/ns#"">", @"<feed>");

            //loading into an XML so we can get information easily
            doc.LoadXml(response);

            //nr of emails
            nr = doc.SelectSingleNode(@"/feed/fullcount").InnerText;

            //Reading the title and the summary for every email
            foreach (XmlNode node in doc.SelectNodes(@"/feed/entry"))
            {
                title = node.SelectSingleNode("title").InnerText;
                summary = node.SelectSingleNode("summary").InnerText;
            }

        }
    }
    catch (Exception exe)
    {
         MessageBox.Show("Check your network connection");
    }
于 2013-08-21T22:42:15.777 回答
0

正如其他人所指出的,您最好的选择是使用 IMAP 协议。但是请注意,Google IMAP 实施需要安全连接,因此这不仅仅是实施 IMAP 的问题。

这里有一个 C# 实现,它还包括安全连接的东西,但要注意其中有很多错误,涉及到标头编码等问题,所以如果你决定使用它,请准备好修复一些错误.

于 2011-09-13T08:57:02.543 回答
0

您可以通过例如 IMAP 执行此操作。不过,它应该在帐户设置中启用。

有许多关于使用/实现 IMAP 的 C# 教程,只需 google 即可。

于 2011-09-13T08:17:13.223 回答