Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C中读取整个GMail#_C#_Gmail_Email Client - Fatal编程技术网

C# 从C中读取整个GMail#

C# 从C中读取整个GMail#,c#,gmail,email-client,C#,Gmail,Email Client,我正试图找到一些代码,使我能够吸出我的Gmail帐户中的每封电子邮件,似乎目前使用Atom reader的代码只读取未读邮件 我想阅读所有的东西,主题,身体和附件 是否可能,是否有人有一些工作代码 Dave您可以通过例如IMAP来完成此操作。但应在帐户设置中启用它 有很多关于使用/实现IMAP的C#教程,只需谷歌就可以了。您需要做的不是一个简单的应用程序,我们可以帮助您编写邮件客户端应用程序,阅读许多关于POP3或IMAP邮件客户端如何工作的文章需要付出大量的努力,而且您还必须了解和这些协议相关

我正试图找到一些代码,使我能够吸出我的Gmail帐户中的每封电子邮件,似乎目前使用Atom reader的代码只读取未读邮件

我想阅读所有的东西,主题,身体和附件

是否可能,是否有人有一些工作代码


Dave

您可以通过例如IMAP来完成此操作。但应在帐户设置中启用它


有很多关于使用/实现IMAP的C#教程,只需谷歌就可以了。

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

和RFC文件:


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


有一个C#实现,其中还包括安全连接的东西,但要注意,其中有相当多的bug,涉及到头编码和其他方面,因此,如果您决定使用它,请准备修复一些bug。

学习如何从XML中读取信息,您可以从这个提要中获得您想要的关于Gmail的所有信息。下面我有一个示例代码,可以读取未读邮件的数量、标题和摘要,但您可以从谁、附件等处获得其他信息。不需要额外的库:)

试试看
{
System.Net.WebClient objClient=新系统.Net.WebClient();
字符串响应;
字符串标题;
字符串摘要;
//创建新的xml文档
XmlDocument doc=新的XmlDocument();
//登录Gmail服务器获取数据
objClient.Credentials=新系统.Net.NetworkCredential(“电子邮件”、“密码”);
//读取数据并转换为字符串
response=Encoding.UTF8.GetString(objClient.DownloadData)(@)https://mail.google.com/mail/feed/atom"));
响应=响应。替换(@“@”);
//加载到XML中,以便轻松获取信息
doc.LoadXml(响应);
//电邮数目
nr=doc.SelectSingleNode(@“/feed/fullcount”).InnerText;
//阅读每封电子邮件的标题和摘要
foreach(doc.SelectNodes(@“/feed/entry”)中的XmlNode节点)
{
title=节点。选择SingleNode(“title”)。InnerText;
summary=节点。选择SingleNode(“summary”)。InnerText;
}
}
}
捕获(异常exe)
{
显示(“检查您的网络连接”);
}

POP3客户端怎么样?还是IMAP?Thanx对于每个人的回复,我会看看我是否能在接下来的几天内让它工作,如果我能,我会发布一个工作代码示例
        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");
    }