65.9K
CodeProject 正在变化。 阅读更多。
Home

简单的 POP3 电子邮件类

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.72/5 (17投票s)

2007 年 3 月 13 日

CPOL

2分钟阅读

viewsIcon

252564

downloadIcon

14247

一个简单的 POP3 类,用于从邮件服务器下载电子邮件。

Screenshot - ScreenShot.jpg

引言

这是一个用 VB.NET 编写的简单类,允许您从 POP3 邮件服务器下载电子邮件。它包括用于提取收件人、发件人、主题和电子邮件正文的函数。目前,它不支持处理附件。

背景

当我开始使用 .NET 框架时,我首先注意到的事情是它缺乏对从邮件服务器下载电子邮件的支持。它对通过 SMTP 协议发送邮件有很好的支持,但没有接收邮件的支持。当需要一种检索作为电子邮件发送的日志文件并处理邮件中包含的信息的方法时,这个类就出现了。

使用代码

您可以使用两个主要的类。第一个称为 POP3,用于连接到 POP3 服务器并处理检索邮件所需的全部命令。第二个类称为 EmailMessage,用于提取消息中的所有不同部分。

您声明变量并创建对象,如下所示

Dim popConn As SamplePop3Class.POP3
Dim mailMess As SamplePop3Class.EmailMessage

'create the objects

popConn = New SamplePop3Class.POP3
mailMess = New SamplePop3Class.EmailMessage

创建对象后,连接到邮件服务器并确定服务器上消息的数量(如果有)。

'if we have got to this point, try and connect to the server

popConn.POPConnect(strMailServeor, strUsername, strPassword)

'now we have a connection, see if there are any mails on the server

intMessCnt = popConn.GetMailStat()

现在,变量 intMessCnt 将包含服务器上的消息数量。如果它大于 0,则循环遍历每条消息并提取电子邮件的部分。

'if we returned some messages, loop through each one and get the details

For i = 1 To intMessCnt

    'load the entire content of the mail into a string

    strMailContent = popConn.GetMailMessage(i)

    'call the functions to get the various parts out of the email 

    strFrom = mailMess.ParseEmail(strMailContent, "From:")
    strSubject = mailMess.ParseEmail(strMailContent, "Subject:")
    strToo = mailMess.ParseEmail(strMailContent, "To:")
    strBody = mailMess.ParseBody()

next i

现在,您应该将电子邮件的所有部分都保存在变量中。从这里,您可以将电子邮件保存到外部文件,将详细信息插入数据库,或者对信息做任何您想做的事情。

关注点

这是我第一次尝试编写涉及通过 TCP/IP 通信的应用程序。我非常惊讶于它的易用性和强大性,最困难的部分是确保正确处理从 POP3 服务器返回的任何错误,但由于所有内容都返回到 IOStream 中,因此很容易读取。

目前此代码的唯一问题是它缺乏对附件的支持。我已经研究过它,并且看起来非常复杂,但我会尝试一下,并在它工作后更新此代码。

请注意,这是我的第一次发布,所以如果有人对如何改进我的文章有任何建议,请告诉我!

© . All rights reserved.