当前位置: 首页 > 编程语言 > C#

如何在c#中使用pop3获取gmail邮件中的邮件正文?Share

时间:2023-04-10 23:01:00 C#

如何在c#中使用pop3从gmail中检索邮件中的消息文本?下面是代码://HOSTNAMEPOPSERVER和gmail使用端口号995作为POPtcpclient.Connect("pop.gmail.com",995);//这是安全流//打开客户端和POP服务器之间的连接System.Net.Security.SslStreamsslstream=newSslStream(tcpclient.GetStream());//作为客户端进行身份验证sslstream.AuthenticateAsClient("pop.gmail.com");//布尔标志=sslstream.IsAuthenticated;//检查标志//将编写器分配给流System.IO.StreamWritersw=newStreamWriter(sslstream);//将读取器分配给流System.IO.StreamReaderreader=newStreamReader(sslstream);//参考POPrfc命令,6-9条命令很少见sw.WriteLine("USERyour_gmail_user_name@gmail.com");//发送到服务器sw.Flush();sw.WriteLine("传递你的_gmail_password");sw.Flush();//RETR1将检索你的第一封电子邮件。它将读取你第一封电子邮件的内容sw.WriteLine("RETR1");sw.Flush();//关闭连接sw.WriteLine("Quit");sw.Flush();stringstr=string.Empty;stringstrTemp=string.Empty;while((strTemp=reader.ReadLine())!=null){//找到.character在行中if(strTemp=="."){break;}if(strTemp.IndexOf("-ERR")!=-1){break;}str+=strTemp;}textbox1.text=str;textbox1.text+=""+"恭喜......!!!你读了你的第一封gmail电子邮件";}catch(Exceptionex){Response.Write(ex.Message);}}邮件正文是一堆看似随机的字符,我知道它不仅仅是一堆随机字符,而是一些代码需要解析和转换。我如何阅读“邮件文本”中的内容?我知道我不是直接回复你的答案,但阅读电子邮件是一项非常复杂的任务,我认为你可以更好地实现这一点并且使用外部库更快,而不是自己做。有很多好的实现,我通常使用OpenPop.NET,它工作正常并且是开源的。https://sourceforge.net/projects/hpop/你可以找到很多例子在互联网上,因为它很受欢迎。http://hpop.sourceforge.net/examples.php您可以轻松获取所有邮件:using(Pop3Clientclient=newPop3Client()){//连接到服务器client.Connect("pop.gmail.com",995,真的);//向服务器验证我们自己client.Authenticate("username@gmail.com","password",AuthenticationMethod.UsernameAndPassword);//获取收件箱中的消息数intmessageCount=client.GetMessageCount();//我们要下载所有消息ListallMessages=newList(messageCount);//消息在区间内编号:[1,messageCount]//因此:消息编号从1开始。//大多数服务器给最新消息的最高编号for(inti=messageCount;i>0;i--){allMessages.Add(client.GetMessage(i));您可以获得完整的原始消息varmailbox=ASCIIEncoding.ASCII.GetString(message.RawMessage);或者如果是utf8编码的电子邮件:varencodedStringAsBytes=System.Convert.FromBase64String(message.RawMessage);varrawMessage=System.Text.Encoding.UTF8.GetString(encodedStringAsBytes);相反,如果您只想要消息文本,则必须深入研究消息结构:http://hpop.sourceforge.net/documentation/OpenPop~OpenPop.Mime.MessagePart.html我知道这不是一件容易的事,但正如我上面所说,电子邮件是复杂的对象。以上就是C#学习教程:如果以上分享的内容对您有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: