MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件

原创 2017年06月15日 16:38:17
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#:
Pop3 pop = new Pop3();
VB.NET:
Dim pop As Pop3 =  New Pop3()

基本属性和方法

要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#:
pop.Connect("mail.domain.com");
VB.NET:
pop.Connect("mail.domain.com")
 
或者
C#:
pop.Connect("127.0.0.1");
VB.NET:
pop.Connect("127.0.0.1")
 
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#:
pop.Login("login", "password");
VB.NET:
pop.Login("login", "password")
 
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#:
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
VB.NET:
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount)
 
其中:
  • pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
  • msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
 
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
 
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
C#:
pop.Disconnect();
VB.NET:
pop.Disconnect()

示例代码:

以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static bool IsNewMessage(string UID)
        {
            return true;
        }
        static void Main(string[] args)
        {
            Pop3 pop = new Pop3();
            try
            {
                pop.Connect("mail.domain.com");
                pop.Login("login", "password");
                Console.WriteLine("Successfully logged in.");
            }
            catch(MailBeePop3LoginNegativeResponseException)
            {
                Console.WriteLine("POP3 server replied with a negative response at login.");
            }
            string[] arrIDs = pop.GetMessageUids();
            int n = pop.InboxMessageCount;
            if (IsNewMessage(arrIDs[n])) 
            {
                MailMessage msg = pop.DownloadEntireMessage(n);
                if (msg.BodyHtmlText != "") 
                     Console.WriteLine(msg.BodyHtmlText);
                else 
                    if (msg.BodyPlainText != "") 
                      Console.WriteLine(msg.BodyPlainText);
                    else 
                      Console.WriteLine("The body of this message is empty.");
            }
            try
            {
                pop.Disconnect();
                Console.WriteLine("Disconnected successfully.");
            }
            catch
            {
                Console.WriteLine("Disconnection failed.");
            }
        }
    }
}
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        _ 
 
        Shared Function IsNewMessage(ByVal UID As String) As Boolean
            Return True
        End Function
        Shared  Sub Main(ByVal args() As String)
            Dim pop As Pop3 =  New Pop3() 
 
            Try
                pop.Connect("mail.domain.com")
                pop.Login("login", "password")
                Console.WriteLine("Successfully logged in.")
            Catch
                Console.WriteLine("POP3 server replied with a negative response at login.")
            End Try
 
            Dim arrIDs() As String =  pop.GetMessageUids() 
            Dim n As Integer =  pop.InboxMessageCount 
            If IsNewMessage(arrIDs(n)) Then
                Dim msg As MailMessage =  pop.DownloadEntireMessage(n) 
 
                If msg.BodyHtmlText <> "" Then
                     Console.WriteLine(msg.BodyHtmlText)
                Else 
                  If msg.BodyPlainText <> "" Then
                    Console.WriteLine(msg.BodyPlainText)
                  Else 
                    Console.WriteLine("The body of this message is empty.")
                  End If
                End If
            End If
 
            Try
                pop.Disconnect()
                Console.WriteLine("Disconnected successfully.")
            Catch
                Console.WriteLine("Disconnection failed.")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

版权声明:本文为博主原创文章,未经博主允许不得转载。

MailBee.NET Objects发送电子邮件(SMTP)教程三:没有SMTP服务器的情况下发送消息

概述:该文主要介绍了MailBee.NET Objects中在没有SMTP服务器的情况下,QuickSend方法发送电子邮件的代码示例。欢迎您下载试用版进行运用! MailBee.N...
  • Harriet666
  • Harriet666
  • 2017年05月02日 17:23
  • 388

MailBee.NET Objects接收电子邮件(POP3)教程三:POP3认证

MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能...
  • Harriet666
  • Harriet666
  • 2017年07月25日 16:41
  • 137

MailBee.NET Objects接收电子邮件(POP3)教程二:接收和显示HTML电子邮件

MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这...
  • Harriet666
  • Harriet666
  • 2017年06月20日 17:17
  • 402

电子邮件协议之SMTP、POP3和IMAP

邮件收发网络中常用的三种协议SMTP,POP3,IMAP之间的联系与区别
  • ladybai
  • ladybai
  • 2016年03月26日 18:43
  • 4655

C++ 建立邮件客户端之收邮件(利用POP3)(一)

POP是邮局协议(Post Office Protocol),使TCP/IP协议族中的一员,它是由RFC 1939定义的. 本协议主要是用于支持使用客户端远程管理在服务器上的电子邮件.最新版本是POP...
  • wsy526659583
  • wsy526659583
  • 2013年12月28日 11:57
  • 2911

邮件的发送与接收原理

1.邮件开发涉及到的一些基本概念 1.1、邮件服务器和电子邮箱   要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、soh...
  • u014520047
  • u014520047
  • 2016年07月20日 11:21
  • 5105

SMTP,POP3,IMAP 邮件协议

常见的3个邮件信息,可以做协议内容解析,具体分析结论如下,报文请参考我的资源信息 1、SMTP邮件协议分析 属于发送邮件协议,用户名、密码和邮件内容采用base64编码 2、...
  • vevenlcf
  • vevenlcf
  • 2014年03月18日 11:17
  • 2840

python读取pop3服务器邮件并且下载

程序从pop3服务器中下载邮件到程序当前目录下的POP3文件夹,如果不存在POP3文件夹,程序自动创建。 需要提供POP3协议的服务器IP,用户名(即完整邮箱地址),密码 经过PYTHON2.7测...
  • jianghuihong2012
  • jianghuihong2012
  • 2013年10月29日 20:08
  • 1820

C#使用POP3接收电子邮件

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using...
  • u011282129
  • u011282129
  • 2013年08月12日 09:50
  • 661

电子邮件的发送与接收实例

这个就不写很多不同类的属性和方法了。其中涉及的类有MailMessage类,SmtpClient类 其实可有还有相关的Attachment类:表示电子邮件的附件 以下就直接贴实例代码了: 一共三个...
  • u010792238
  • u010792238
  • 2014年06月07日 15:34
  • 1104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
举报原因:
原因补充:

(最多只允许输入30个字)