未找到

未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件
by Harriet666 keys 分享 1497516049930
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
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 2017慧都十四周年庆序章——技能升级,团队燃出彩!
by Harriet666 keys 分享 1506762825650
2017慧都十四周年庆预热开启!DevExpress、Telerik首推团队升级珍藏培训套包,劲省10万元!全场满额送豪礼,AppleMac笔记本电脑、iwatch、iPad、Beats耳机等好礼送送送……更多惊喜等您来探索!

2017年,一份价值百万的项目放在您面前,但一看技术需求,只好婉言拒绝?

2018年,您是否想过提升团队专业性和战斗力?

团建打造要趁早!

方案交给我们,您只管去赢千万级项目。

活动时间:2017年10月1日—2017年10月31日


活动一:团队钜惠 自有一“套”

典藏方案,引爆团建升级新风潮!套包首推超低折扣,最高可省10万元。
慧都十四周年庆,联合DevExpress & Progress,全球首推团队升级珍藏培训套包。不论企业预算多少,都有预算范围内最快、最省、最优的团队升级方案。今后,您放心去赢千万级项目。

活动二:全场满额送豪礼

购买慧都任意控件、软件、培训、服务等,满额即送七级壕礼!
  • 购满5000元以下   送2018慧都定制台历
  • 购满5000至9999元    送小米充电宝或乐扣保温杯(二选一)
  • 购满10000至29999元    送美的加湿器(5L大容量)
  • 购满50000至49999元   送beats耳机
  • 购满50000至149999元   送Apple ipad平板电脑
  • 购满150000至199999元   送iwatch
  • 购满200000及以上  送AppleMacBook12英寸笔记本电脑

活动三:老友聚惠

全场8.5折优惠特权,只属于慧都老客户的特别礼遇。
全场产品(特殊、部分产品除外)、培训及技术服务,不论您是购买,还是续费,通通享受8.5折优惠,并赠送慧都学院专家公开课免费入场名额2份。
更多老客户优惠,敬请咨询慧都客服
注:凡在2017年10月9号之前在慧都购买过一次及以上产品、或者服务等的客户均可享受此优惠特权。

活动四:在线订购限量抢

慧都在线订购明星产品Myeclipse最后100套超低折扣限量抢!
同时,慧都在线订购商城全场优惠促销中,包含用户界面、图表报表、加密解密、测试分析、网络通讯、图形图像、BI/大数据等各类产品,空前优惠等你来!

活动五:周年集字送好礼

扫描二维码,关注“慧聚IT”微信公众号参与活动
慧都周年狂欢季,邀您集字赚好礼!90%极高中奖率,定制台历、慧都通用8折券、乐扣高端保温杯、小米定制充电宝轻松拿到手,还有机会赢取价值2999元的慧都学院VIP年费会员。
未发布 如何选择你的移动APP KPIs(关键绩效指标)
by Harriet666 keys 分享 1487231962156
移动APP市场正以惊人的速度发展。越来越多的人在户外时会选择移动端来访问网络。为了取得更大的竞争力和获得更多用户的注意力,移动端APP开发者还有许多应该做的。近年来应用商店非常受欢迎,它可以为每个使用手机的人提供适合他们的应用。面对这种情况,移动端APP开发者如何衡量自己的应用是否成功呢?在移动应用发展过程中,下载量已经不是衡量成功的唯一标准了。
你需要更精准的关键绩效指标(KPIs)来评判你的APP在市场中的表现是好是坏。需要特别注意的是每个APP是不同的,因此你应该根据自身APP所属的类别来选择KPIS。同样的,所选的指标也必须符合你的商业目标。下面就教大家如何选择你的移动APP KPIs。
查看完整方法>>>>>



 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA