未找到

未发布 Essential Studio for JavaScript发布2017 v4版本,添加Essential JS 2工具包
by Harriet666 keys 分享 1516351007437
Essential Studio for JavaScript是首款专门用于LOB应用开发的JavaScript框架。包含40多种独特的、全新设计的控件,包括网格、图表、计量器、编辑器、树形视图、菜单、OLAP网格等等。
 

ESSENTIAL JS 2:企业级JAVASCRIPT UI工具包

Essential JS 2是一个现代的JavaScript UI工具包,具有轻量级、响应式和模块化的特点。它是用TypeScript编写的,完全支持Angular和React框架的完整支持。目前有以下组件可供使用:
  • Grid
  • Chart
  • Drop-Down List
  • Tree View
  • Date Picker
  • Dialog
  • Numeric Text Box
  • Tab
  • Toolbar
  • Circular Gauge
  • Linear Gauge
  • Form Validator
  • Combo Box
  • Autocomplete
  • Multiselect Drop-Down
  • Calendar
  • Date Range Picker
  • Button
  • Radio Button
  • Check Box
  • Text Box
  • Time Picker
  • Masked Text Box
  • List View
  • Tooltip
  • Context Menu
  • Accordion
完整的包可以从npmGitHub中获得。
查看演示
2d0ee79c3c0b40b781b46b85c269d443ojpg
 

支持ANGULAR 5

用于Angular组件的基本JavaScript已经升级到无缝支持Angular 5。
 

组合框

新的控件
组合框组件允许用户输入一个值或从预定义选项列表中选择一个选项。单击此组件的箭头图标时,下拉列表将显示用户可以从中选择的值列表。
 
主要特征
  • 数据绑定:允许绑定和访问本地或服务器端数据源的项目列表。
  • 分组:支持将单个或特定类别下的逻辑相关项目进行分组。
  • 排序:支持按字母顺序(升序或降序)排序列表项。
  • 过滤:允许根据组件中输入的字符过滤列表项目。
  • 模板:允许自定义列表项目、选定的值、页眉、页脚、类别组页眉。
  • 可访问性:内置的可访问性支持有助于通过键盘、屏幕阅读器或其他辅助技术设备访问所有组件的功能。
 

媒体播放器

新的控件
JavaScript的媒体播放器提供了一个简单而强大的视频和音频播放器,内置控制选项。它支持HTML5标准音频和视频格式,如MP4、MP3、WebM和Ogg。
 
主要特征
  • 支持HTML5标准视频。
  • 支持YouTube视频。
  • 内置控制栏,用于桌面和移动设备的所有基本操作,包括播放/暂停、下一首、上一首、音量控制和全屏。
  • 时间轴滑块,便于导航。
  • 标题栏。
c9b384463e464f0b9e59dfe642f91166ojpg
 

CHART

轴标签
支持显示多行轴标签。

 
显示外部数据标签
现在可以在图表区域内显示部分可见的数据标签。
 

数据管理器

防伪
防伪令牌可用于帮助保护应用程序免受跨站请求伪造。它生成一个隐藏的表单字段(防伪造标记),在提交表单时进行验证。
 
额外的数据操作
提供了IN和NotIN过滤器操作用于在WHERE过滤器中指定多个值。
 

DIAGRAM

对齐
支持定制用户手柄的位置。

 
端口增强
现在可以拖动端口来重新定位端口。

 
对称布局
对称布局是用于以圆形和对称方式排列图的自动布局。

 
标签交互
已经为标签提供了交互支持。他们可以被选中、拖动、调整大小和旋转。
 

AUTOCOMPLETE

搜索索引多栏弹出
现在可以区分多列AUTOCOMPLETE控件中的显示格式和搜索字段,允许用户在列表中搜索任意数量的字段,而无需修改所选的文本格式。
 

条码

EAN
条形码控制器现在支持EAN-8和EAN-13条形码。
 

计算

27个新的Excel公式
支持以下Excel公式:
ASINH,ATANH,AVERAGEIF,AVERAGEIFS,BASE,BESSELI,BESSELJ,BESSELK,BESSELY,COUNTIF,MMULT,MOD,NORMSDIST,NORMDIST,ODD,POWER,PV,RADIANS,RAND,ROUND,ROUNDUP,ROUNDDOWN,SECH,SUMPRODUCT,TEXT, VLOOKUP和STDEV。
 

下拉列表

服务器过滤
在搜索框中输入文本时,此功能将过滤数据源。过滤是基于包含来自整个数据源的匹配项。
 
服务器过滤:远程数据
 
服务器过滤:本地数据
 

文件管理器

支持鼠标选择
支持在文件资源管理器控件中使用鼠标管理文件/文件夹。
 

KANBAN

外部拖放
KANBAN控件现在支持与其他控件之间的拖放操作。
 
没有数据源的KANBAN列
KANBAN列可以在不绑定数据源的情况下显示。
 

滑块

添加按钮
添加了一个可以隐藏的按钮,允许增加和减少滑块的值。
 

甘特图

 
资源分配视图
甘特图控件支持资源分配视图。使用该视图,用户可以解释在同一日期发生的任务以及项目中资源的过度分配。
2820158d42a74615b57182485b50c1eaojpg
 
排序
现在可以根据行顺序显示具有序列号的任务。
9735e84a7c5d43b5bb25c29d3b1b1f89ojpg
 
多行选择
现在可以选择多行并执行缩进和负缩进操作。
6a44aceda37444c7b23b6d97d3180658ojpg
 
列过滤
现在可以过滤甘特图控件中的特定字段或列。
 
展开/折叠记录
甘特图控制现在支持扩展和折叠特定的记录。
未发布 MailBee.NET Objects显示HTML/纯文本邮件教程(三):在Web应用程序中显示
by Harriet666 keys 分享 1502355696673
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了在Web应用程序中显示HTML/纯文本邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
由于Web应用程序在呈现HTML而不是纯文本的Web浏览器中运行,因此应将纯文本数据转换为HTML,以便在浏览器中查看此数据。这也适用于在HTML容器中渲染数据的桌面应用程序。
 
MailBee可以邮件解析期间自动将纯文本内容转换为HTML。为了调整邮件解析过程,MailMessage类提供了Parser属性。
C#
MailMessage msg = pop.DownloadEntireMessage(1);
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
VB.NET
Dim msg As MailMessage =  pop.DownloadEntireMessage(1) 
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
 
上面的节点从服务器中下载邮件,并让MailBee自动将邮件的纯文本转换为HTML(如果邮件还没有HTML版本)。因此,你将得到可以在ASP.NET应用程序中显示的HTML邮件,如下所示:
C#
Response.Write(msg.BodyHtmlText);
VB.NET
Response.Write(msg.BodyHtmlText)

如果你还需要在HTML容器中显示邮件标头,你可以使用HeadersAsHtml属性替换邮件的所有标题中的“<”,“>”,“和”和“”字符,其HTML表示形式为:
C#
msg.Parser.HeadersAsHtml = true;
Response.Write("From: " + msg.From.ToString());
VB.NET
msg.Parser.HeadersAsHtml = True
Response.Write("From: " + msg.From.ToString())

未发布 微软仍计划在2017年发布两次Windows 10系统升级
by Harriet666 keys 分享 1487920304354

微软本月重申,今年将发布两次Windows 10系统升级,这相当于2016年的两倍。但他们对公司的原定目标仍有顾虑。

在11天前澳大利亚举行的微软技术会议上项目管理主管比尔·卡拉古尼斯指出,后续升级将在“Creators Update”之后发布,此更新预计于下月完成并发货。

微软表示,这是Windows 10的发布计划复杂性的一个标志,也是微软的“Windows服务”总体战略。此外,在会议期间卡拉古尼斯还宣布了从去年开始测试的Windows升级分析服务将于3月1日全面开放。

Microsoft Office 365 商业版【在线订购】5套起订,享95折!

Microsoft Office 365 商业协作版【在线订购】5套起订,享95折!

Microsoft Office 365 商业高级版【在线订购】5套起订,享95折!

【文章来源慧都控件,原创不易,转载请注明出处】

未发布 【百厂年货节】Dynamsoft热销产品7.5折超级特惠,仅此一次!
by Harriet666 keys 分享 1517476439385
 
Dynamsoft公司是版本控制和事件跟踪软件应用程序领域的领先开发商。 如今,大部分世界500强企业,包括 HP,IBM, Intel, 以及 Siemens 等都信赖 Dynamsoft 的解决方案,用它来处理版本控制和事件跟踪应用程序开发。于此新春佳节之际,慧都联合Dynamsoft公司针对中国客户进行百厂年货节促销活动,诚邀您的参与。
 
活动时间:2018年2月1日-2018年2月28日
活动内容:在活动期间内,购买 Dynamsoft 指定产品授权均可享受原价基础上7.5折的超值优惠。
活动授权:
活动产品授权折扣

Dynamic Web TWAIN

HTML5 browsers for Windows(Per Production Server)年货节特惠7.5折
HTML5 browsers for Windows(Per Non-Production Server)年货节特惠7.5折

Dynamic .NET TWAIN

Scanner Module(1-Developer License)年货节特惠7.5折
Scanner + Webcam Module(1-Developer License)年货节特惠7.5折

Dynamsoft Barcode Reader

1D Barcode(Per Production Server)年货节特惠7.5折
1D Barcode(Per Non-Production Server)年货节特惠7.5折
QRCode(Per Non-Production Server)年货节特惠7.5折

想要了解更多优惠信息?<咨询客服>可了解最新活动!

咨询热线:400-700-1020(免费) 023-66090381


6

未发布 串行端口监视器Serial Port Monitor v7.0.312发布丨附下载
by Harriet666 keys 分享 1496999958369
串行端口监视器Serial Port Monitor是专业、强大的系统实用程序,用于监测RS232/422/485 COM端口。它不但可以监测、显示、记录和分析系统中串行端口的所有活动,还可以跟踪应用程序或驱动程序开发、测试等过程中可能出现的问题,因此,它是优化串行设备最理想的一套程序。
 
【Serial Port Monitor最新版下载】
Serial Port Monitor v7.0.312更新内容

新增:
  • Modbus协议(RTU和ASCII)解码。
  • Modbus协议的新视图。
  • 用于Modbus协议的独立过滤器。
  • 监控会话比较。
  • 支持Windows Server 2016。
  • 将会话再现到串行端口的功能。
  • 64位GUI版本(当进程占用太多的RAM时,监控将不会中断)。
  • 视图之间的选择同步。
  • 表格视图的“注释”列。
  • 在工具栏中打开和关闭过滤器的功能。
  • 当监控不活动时,能够创建用于数据重定向的新文件。
  • 在表格视图中的第一个和最后一个突出显示的IRP之间的状态栏中显示总读/写数据统计信息。
  • 在转储视图中显示串行端口设置更改。
  • 在“转储”视图中选择显示哪些数据的选项:二进制、ASCII、端口设置。
  • 会话文件打开时,在状态栏中显示监控会话统计信息。
  • 能够将过滤器应用于特定的串行端口。
  • 在表格视图中显示应用程序尝试写入端口的Write事件的数据,除了已写入的数据。
  • 能够禁用终端视图的自动滚动。
  • 命令行选项允许将数据附加到文件而不是覆盖它。
  • 保存监视会话时的进度条。
改进:
  • 表格视图中的IRP现在显示“Line”视图中的转录提示。
  • 重新设计“新会话”窗口(所有可用的端口立即显示)。
  • 主窗口标题现在显示正在监视的串行端口。
  • 双击即可打开监控会话文件。
  • 可以通过将监控会话文件拖放到串行端口监视器窗口中来打开监视会话文件。
  • “新建会话”窗口中的串行端口现在按端口号而不是名称排序。
  • 当监视会话文件被打开时,监控不会自动启动。
  • “数据表示”选项将不允许现在每行设置超过100个字符,以提高性能。
修复:
  • 启用“保持最后100个IRP”时,内存泄漏(现在此选项可防止长时间监控期间的高内存消耗)。
  • 当硬件流量控制启用且连接另一端的串口未打开时,内置终端挂起。
  • 0d 0a字符显示不正确。
  • 当系统中出现新的串行端口时挂起。
  • 终端视图菜单选项关闭时禁用。
  • 监视进程启动时开始捕获选项。
  • 解析IOCTL_SERIAL_GET_PROPERTIES和IOCTL_SERIAL_LSRMST_INSERT事件。
  • 在打开大型监视会话文件时关闭串行端口监视器。
  • 串行端口监视ActiveX安装与串行端口监视器不一致。

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

1
未发布 2017年移动开发中优秀的10大框架
by Harriet666 keys 分享 1488161905996
框架被视为复杂的软件开发环境。它们包括许多子组件,其主要工作是帮助您创建应用程序。框架提供了许多工具集、调试器、编译器、不同的代码库,应用程序编程接口和其他组件。它们都是为了让应用程序开发人员工作变得更加容易。框架是APP开发的基础,它们可以使整个开发过程变得更简单、更令人兴奋。没有框架,开发人员将从头开始编写他们想要开发的每个应用程序。这将涉及大量的编码来让应用程序可以在不同的平台上工作。这里将列举出最好的框架来让你的开发更简单和更容易。

点击查看十大框架具体信息>>>

未发布 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
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

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

未发布 界面控件包Essential Studio for Windows Forms 2017 v3发布丨附下载
by Harriet666 keys 分享 1503046651124
Essential Studio for Windows Forms界面控件包含了高性能的Windows应用程序开发中所需的所有控件,如Grids、Charts、Gauges、Menus、Calendars、Editors等等。 到目前为止,我们开发Windows Forms 控件包已达十几年,所以该控件包是功能最齐全的控件集。除此之外,Essential Studio for WinForms还包含了一些特有控件,使您可以为应用程序添加Excel、Word和PDF格式文件的浏览和创建功能。
 
Essential Studio for Windows Forms 2017 v3下载>>>
 
Essential Studio for Windows Forms 2017 v3让开发人员创建更好的应用程序,并增加了DocIO的内容控件,支持消息框的定制以及标记PDF的功能。
 

DOCIO

内容控件

DocIO能够在Word文档中创建和修改内容控件,并提供了一种设计具有以下功能文档的方法:
  • 创建一个类似表单的用户界面。
  • 防止用户编辑内容控件的内容。
  • 将内容绑定到XML数据。
2118d706e02148f68ad4813a2a8bc83cojpg
 

Word转换PDF增强功能

 
  • DocIO现在可以在Azure网站中将Word文档转换为PDF。
  • DocIO现在可以将具有旋转图像的Word文档转换为原始格式的PDF格式。
  • DocIO现在可以将镜像边距的Word文档转换为原始格式的PDF格式。
77d4c1802b1f4d7db60deee76e8842b0ojpg
 

高级消息框

定制

支持自定义消息框元素中的字体,如标题、细节和按钮。
1883379cd89745fc8b8a4158bc9135e9ojpg
 

PDF

压缩现有的PDF文档

减小PDF文件的大小。
238247293b70438fb670a17db5c3059aojpg

标记PDF

通过允许用户创建PDF/通用可访问性(PDF / UA)或符合章节508的PDF文档来提供辅助功能。
35eadc2d52c14a84a7ab60fb5f324033ojpg
 

演示

支持插入列

演示文稿现在允许在PowerPoint演示文稿中的表中插入列。
35a8e4315d874073a20898374270842bojpg

PDF和图像转换增强功能

演示文稿现在可以将具有旋转和嵌套组形状的PowerPoint演示文稿精确转换为PDF或图像格式。
22f440e4e97c4379aec13096371bbdb2ojpg
 

XLSIO

过滤器功能增强

  • XlsIO现在允许用户通过文本、数字、单元格颜色和字体颜色对过滤的数据进行排序。
  • 提供基于自定义文本过滤器过滤数据的功能。

    7bf1f958faca4e9d929f94c9804e2cb1ojpg

未发布 MailBee.NET Objects退回邮件教程(二):POP3部分
by Harriet666 keys 分享 1503567760428
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,
简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。

MailBee.NET Objects介绍和试用点击查看>>>
 
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
在上期的SMTP部分中,我们将退回的电子邮件发送到指定的单个电子邮件地址。
 
每封退回的电子邮件都包含失败的电子邮件地址(以及其他信息)。这个失败的地址是我们想知道的。这个任务看起来很简单 - 你需要做的是扫描退回的
邮件以确定地址的典型字段。但是有一个隐藏的危险:每个邮件服务器都有自己的邮件退回格式。虽然它们几乎具有相同的“From”和“主题”字段,但是退回地址可以在邮件的任何位置。MailEnable服务器的典型退回邮件如下所示:
From: POSTMASTER@domain.com
To: jdoe@domain.com
Subject: Message Delivery Failure

MailEnable: Message Delivery Failure.

The following recipient(s) could not be reached: 

Recipient: [SMTP: bill@domain.com] Reason: The message could not be delivered because the domain name (domain.com) does not appear 

to be registered.

函数GetInvalidEmailAddressME()检查邮件是否被退回,并从退回的邮件中提取失败的地址。由于退回邮件格式不同,此功能仅对MailEnable服务器有效。例如,如果你正在使用Communigate Pro服务器,则退回消息如下所示:
From: MAILER-DAEMON@domain.local
To: jdoe@localhost Subject:
Undeliverable mail:

Failed to deliver to ''
 
正如你所看到的,这个退回的邮件与前一个几乎相同。使用哪个服务器并不重要,退回信息总是有From,To和Subject字段,退回信息在其正文中有失败的地址。函数GetInvalidEmailAddressCP()与前一个函数几乎相同; 区别仅在于检查邮件字段并搜索失败的地址。支持尽可能多的退回电子邮件格式至关重要。这就是为什么你需要修改GetInvalidEmailAddress()函数,以适应服务器使用的退回电子邮件格式。
 
注意:在某些情况下,你可能需要扫描退回的电子邮件以获取其他信息。如果由于暂时的问题,退回的邮件到达,则不要删除电子邮件地址:邮箱超过配
额,邮件服务器关闭等。退回邮件可以分为两种类型:硬邮件和软邮件。如果是不存在的帐户或域,则会发生硬性退回。其他故障,如完整的邮箱或暂时
不可用的域,则是软性退回。你可以为数据库中的每个地址进行计算。也许下一次尝试发送邮件到具有一些软性退回的地址时将成功。
 
代码示例:
在此示例中,我们从指定的帐户中检索退回的电子邮件,然后从每个退回的电子邮件中提取失败的电子邮件地址。失败的地址传递给RemoveEmailFromDatabase子程序,该子程序必须从数据库中删除失败的地址。应用程序还会从服务器中删除退回的电子邮件,以避免下次处理。
C#:
// Create POP3 object
Pop3 pop = new Pop3();

// Enable logging to file
pop.Log.Enabled = true;
pop.Log.Filename = @"C:\log.txt";
pop.Log.Clear();

// Connect to POP3 server
pop.Connect("mail.domain.com");
pop.Login("bounce", "secret");

// Download headers and bodies of all messages.
MailMessageCollection msgs = pop.DownloadMessageHeaders(1, -1, -1);
                        
// Loop through all messages in the mailbox
foreach (MailMessage msg in msgs)
{
        string strLine = msg.BodyPlainText;
        Console.WriteLine("From: " + msg.From.Email);
                                
        // Get failed email address
        string str_invalid_email =  GetInvalidEmailAddressME(msg);

        // If str_invalid_email is non-empty then failed email 
        // address was found
        if (str_invalid_email.Length > 0)
        {
                // Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email);

                // Display invalid adress
                Console.WriteLine("Invalid email: " + str_invalid_email);                

                // Delete bounced email from server to avoid
                // processing it next time
                pop.DeleteMessage(msg.IndexOnServer);
        }
}

// Disconnect from POP3 server
pop.Disconnect();

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for MailEnable servers
static string  GetInvalidEmailAddressME(MailMessage msg)
{
        string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Delivery Failure") == -1)
{ 
                return "";
        }
        if (msg.From.ToString().IndexOf("POSTMASTER") == -1)
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("SMTP:");

        // Check if bounced message report contains "Recipient:" field
        if (i_start == -1)
        {
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for Communigate Pro servers
static string  GetInvalidEmailAddressCP(MailMessage msg)
{
string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Undeliverable mail") == -1) 
        {
                return "";
        }
        if (msg.From.ToString().IndexOf("MAILER-DAEMON") == -1) 
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("to '<");

        // Check if bounced message report contains 
        // "Failed to deliver to " field
        if (i_start == -1)
        { 
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// This function must remove (or disable) specified
// email address from mailing list
static void RemoveEmailFromDatabase(string str_invalid_email)
{
// TODO: Add your code here                        
}
 
VB.NET:
Dim pop As New Pop3

' Enable logging to file
pop.Log.Enabled = True
pop.Log.Filename = "C:\log.txt"
pop.Log.Clear()

' Connect to POP3 server
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret")

' Download headers and bodies for all messages.
Dim msgs As MailMessageCollection = pop.DownloadMessageHeaders(1, -1, -1)

' Loop through all messages in the mailbox
Dim msg As MailMessage
For Each msg In msgs
        Dim strLine As String = msg.BodyPlainText
        Console.WriteLine("From: " + msg.From.Email)

        ' Get failed email address
        Dim str_invalid_email As String = GetInvalidEmailAddressME(msg)

        ' If str_invalid_email is non-empty then failed email 
        ' address was found
        If str_invalid_email.Length > 0 Then
                'Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email)

                ' Display invalid address
                Console.WriteLine("Invalid email: " & str_invalid_email)

                ' Delete bounced email from server to avoid
                ' processing it next time
                pop.DeleteMessage(msg.IndexOnServer)
        End If
Next
Console.ReadLine()

' Disconnect from POP3 server
pop.Disconnect()

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for MailEnable servers
Function GetInvalidEmailAddressME(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Delivery Failure") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("POSTMASTER") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("SMTP:")

        ' Check if bounced message report contains "Recipient:" field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for Communigate Pro servers
Function GetInvalidEmailAddressCP(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Undeliverable mail") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("MAILER-DAEMON") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("to '<")

        ' Check if bounced message report contains 
        ' "Failed to deliver to " field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' This function must remove (or disable) specified
' email address from mailing list
Sub RemoveEmailFromDatabase(ByVal str_invalid_email As String)
        ' TODO: Add your code here                        
End Sub
未发布 CAD绘图控件VectorDraw web library (javascript)发布v7.7014.0.5
by Harriet666 keys 分享 1517299853543
VectorDraw web library (javascript)是一个矢量图形库,它不仅能打开CAD图纸,而且能显示任何支持HTML5标准平台上的通用矢量对象,如Windows,安卓,iOS和Linux。无需任何安装,VectorDraw web library (javascript)就可以运行在任何支持canvas标签和Javascript的主流浏览器(Chrome, Firefox, Safari, Opera, Dolphin, Boat等等)中。这意味着可以用DXF,DWG,DGN,VDML等多种格式在任何台式、平板电脑,智能手机和便携式笔记本上展现出你的业务。
 
VectorDraw web library (javascript)免费下载>>>
 

WebJS

新增需求(7.7014.0.1)
  • 70001215 MergeDocument方法支持使用mergeFlags  
新增需求(7.7014.0.5)        
  • 70001249 处理AddBlockFromFile加载
漏洞(7.7014.0.1)
  • 70001204 线路对象捕捉无法运作
  • 70001206 导出到vds脚本时出现异常
  • 70001210 WebGl渲染中的实体影线问题  
漏洞(7.7014.0.5)
  • 70001250 vdConst CloneEntity出现意外
 

Converter

新增需求(7.7014.0.1)
  • 70001217 DGN中unsuported对象的类型
漏洞(7.7014.0.1)
  • 70001212 Textstyle未使用正确的TTF字体导入
漏洞(7.7014.0.5)
  • 70001248 折线的宽度问题
   

Engine

新增需求(7.7014.0.3)
  • 70001231 改进触摸控制
  • 70001234 使用Wrapper检查鼠标是否位于ViewCube内部
  • 70001239 是否可以在OnFilterOsnap事件中获取交集对象
  • 70001241 用webGl 3d模式绘制线条和文本
漏洞(7.7014.0.3)
  • 70001235 版本2000中的DXF导出问题
  • 70001236 在Wire2D模式下,线路抗锯齿功能无法正常工作
  • 70001237 鼠标没有正确渲染
  • 70001238 vdLayout调整大小将引发异常
  • 70001240 AlignToView对象在PDF输出中缩放
  • 70001242 导出多边形为dwg dxf文件格式时出错
漏洞(7.7014.0.4)
  • 70001243 不完整的纸张模型刷新
  • 70001245 当VectorDrawBaseControl WndProc被调用时,出现间歇性崩溃

 近期热门 - 点击最多
  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. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  2. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  3. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  4. Node.js 打印vite react+go项目目录树
  5. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  6. Windows与Mac通过git ssh和rsync实现文件共享互传
  7. Windows与Mac通过git ssh和scp实现文件共享互传
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

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

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

OnceOA