未找到

未发布 多平台移动项目开发工具Elements发布v9.2,新增Java语言
by Harriet666 keys 分享 1503912870638
Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。
 
Elements最新版点击下载>>>
 
Elements v9.2进行了许多改进、修复和提升以及全新的前端语言。

Iodine: Java

Elements v9.2新增了第四种语言:Java。不要与Java平台混淆,Iodine将Java语言带入了Elements,并将其应用于所有平台:.NET、Cocoa、Java/Android和Island。这意味着你现在可以在.NET平台上使用Java语言,或者在创建iOS应用程序时重用一些现有的Android代码。这也意味着Java开发人员现在可以将Java用于本机Android NDK应用程序和扩展,而不必使用C/C ++。
 
当然,Java完全支持Visual Studio、Fire和Water Preview。
 

Water (Preview)

我们在发布Elements 9.1时开启了Water项目,让你了解在Windows上Elements开发人员的IDE体验。Alpha的初步反馈一直是积极的,用户对IDE的速度感到惊讶。现在,你可以使用稳定的9.2编译器查看最新的Water Preview,并进行实际运用。
 

Island

不到一年的时间,我们针对CPU编译器目标的Island平台正在紧密结合。虽然这一次的更改日志不如五月份那样长,但是Elements 9.2增加了一些重要的改进,包括Windows上的Island应用程序的全新定制调试引擎、新的模板和帮助Android NDK开发,并支持用于本地平台上的任务和异步代码。
 

Fire

Elements 9.2是Fire的一次重要升级。对于非托管调试器(Cocoa和Island),有一个新的反汇编视图,可以让你在CPU指令级别(包括没有符号的代码,例如OS库)中检查和逐步执行应用程序。
 
搜索已经通过新的嵌入式搜索窗格、搜索历史记录以及过滤文件的功能得到改进。代码编辑器现在加强了周围的代码块和匹配的XML标签,并且支持自动完成XML关闭标签和XML代码完成(目前为.plist文件,但为下一步XAML和Android XML CC奠定基础)。
 

Silver: Swift

在Silver方面,此版本支持Swift 4(Apple将在今年晚些时候发布),以及平台平衡和与Apple Xcode兼容性的其他改进。
未发布 NET图像处理库ImageGear for .NET更新至v23.4,添加增强版的数字签名技术
by Harriet666 keys 分享 1509957540096
文档图像解决方案的领导者Accusoft发布最新版本的图像查看和处理工具包ImageGear for .NET v23.4,新版本专注于PDF文件的数字签名功能。数字签名使用特定的安全协议来确保安全性。该软件可以验证签署方的身份,确认该文件没有变更并签署一份具有法律效应的协议。
 
ImageGear for .NET最新版下载>>>
 
ImageGear .NET v23.4中的新增功能
  • 添加了新的API,支持用批准签名对PDF文档进行数字签名。
  • 支持验证带有认证和批准签名的PDF文档。
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 【收藏】Edraw Max(亿图图示)软件快捷键大全
by Harriet666 keys 分享 1502961575300
Edraw Max(亿图图示)作为一款全类型的图形图表设计软件,深受广大用户的欢迎。目前,Edraw Max(亿图图示)里拥有20000多个符号,有效地满足使用者的需求;另外,简单的拖拽式操作,帮助大多数人在零基础的条件下也能学会使用。其实,Edraw Max(亿图图示)里还有一套齐全的快捷键按钮,使用者甚至可以脱离鼠标,进行高效绘图。目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用! 

Edraw Max(亿图图示)v8.7最新版下载地址>>>

Edraw Max(亿图图示)最齐全的绘图组合快捷键

基本工具

Ctrl+1 选择
Ctrl+Shift+1 索套选择
Ctrl+2 文本
Ctrl+Shift+2 文本调整工具
Ctrl+3 直角连接线
Ctrl+Shift+3 曲线连接线
Ctrl+Shift+4 直线连接线
Ctrl+Shift+5自由曲线连接线
Ctrl+4线条工具
Ctrl+5 矩形工具
Ctrl+6 椭圆工具
Ctrl+7 贝塞尔曲线工具
Ctrl+8 连接点工具
Ctrl+9 裁剪工具

排列组合

Ctrl+A 全选
Ctrl+Shift+A 相同角度
Ctrl+Shift+F 置顶
Ctrl+Alt+F 上移一层
Ctrl+Shift+B 置底
Ctrl+Alt+B 下移一层
Ctrl+Shift+G 组合
Ctrl+Shift+U 取消组合

大小

Ctrl+Shift+W 等高
Ctrl+Shift+H 等宽
Ctrl+Shift+A 相同角度
Ctrl+Shift+Z 相同大小

插入图片

Alt+Shift+N 空白页
Ctrl+Shift+I 插入图片
Ctrl+Shift+V 插入矢量文本
Ctrl+K 插入超链接

符号

Ctrl+E 钢笔工具
Ctrl+Shift+E 铅笔工具
Ctrl+M 移动锚点
Ctrl+Shift+M 转换锚点类型
Ctrl+F9 符号数据
Ctrl+F11 保存符号

顶部菜单

Ctrl+N 新建
Ctrl+O 打开
Ctrl+Z 撤销
Ctrl+Y,Ctrl+Sift+Z 重做
Ctrl+P 打印
Ctrl+S 保存
Ctrl+W 关闭
Ctrl+Alt+O 常规设置

文字编辑

Ctrl+A 全选
Ctrl+B 加粗
Ctrl+I 斜体
Ctrl+U 下划线
Ctrl+C 复制
Ctrl+X 剪贴
Ctrl+Y 重做
Ctrl+Z 撤销
Ctrl+V 粘贴
Ctrl+Alt+V 选择性粘贴
Ctrl+Shift+V 插入矢量文本
Backspace,Del 删除
Enter 换行
Esc 完成

思维导图编辑

Enter 添加同级
Ctrl+Enter 添加下一级
Tab 切换选择
Del 删除

其他快捷键

F1 使用说明
F2 文本工具
F3 设置形状格式
F4 数据形状
F5 从首页播放幻灯片
Shift+F5 从当前页播放幻灯片
F6 页面设置
F7 拼写检查
F9 形状数据
F11 页面预览
Ctrl– 缩小视图
Ctrl+F1 显示/隐藏菜单条
Crtl+Alt+G 网格
未发布 GIS软件开发工具包TatukGIS Developer Kernel更新至v11.7丨附下载
by Harriet666 keys 分享 1504171491009
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
 
TatukGIS Developer Kernel v11.7更新内容
更新内容:
  • DK for Java(Beta)发布。(DK-9623)
  • 一些.NET样本在除96之外的DPI上不能正常打开。(DK-9488)
  • SimplEdit得到了一个更容易测试编辑的数据集。(DK-9501)
  • 插值方法在速度和CS支持方面大大改善。(DK-9502)
  • 插值样本出现错误。(DK-9493) 
  • 修正了WinForms在非标准DPI上放大矩形问题。(DK-9510)
  • 插值样本重做。(DK-9493)
  • 修复了打印预览组件的各种问题。(DK-9510)
  • 示例源代码现在可用于在线浏览。参考Isochrone样品
  • 改进示例文档。
  • 审查样品。
未发布 MailBee.NET Objects撰写邮件教程(三):请求阅读/发送状态提示
by Harriet666 keys 分享 1502269098187
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了电子邮件请求阅读/发送状态提示的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
要查看邮件发送状态,开发人员应使用DeliveryNotificationOptions类。此类提供如何以及何时将ESMTP传递状态通知(DSN)发送回发送方的属性和方法。要获取或设置触发ESMTP服务器的事件,开发人员应使用NotifyCondition属性:
C#
Smtp mailer = new Smtp();
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always;

VB.NET
Dim mailer As New Smtp() 
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always
 
如果邮件服务器支持DSN扩展,则开发人员可以指定触发ESMTP服务器将发送状态发回邮件发送方的事件。为此开发人员应该使用DsnNotifyCondition枚举。例如,使用默认值,服务器将自行发送通知;如果邮件发送失败则会触发通知。有时,当邮件发送失败时,可以使用发送状态通知返回原始邮件。使用MailBee,开发人员可以指定邮件发送失败时哪个部分(整个邮件或仅标头)应与发送状态通知一起发回:
C#
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header;

VB.NET
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header
 
开发人员还可以指定将添加到通知邮件中的特定唯一字符串。它可以用于将通知邮件与原始邮件进行匹配:
​C#
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d";
VB.NET
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d"
 
如果服务器不支持DSN,则不会发送状态通知。但是,在这种情况下,不会向应用程序返回任何错误。你可以手动检
查服务器是否支持发送状态通知:
C#
if (mailer.GetExtension("DSN") != null)
{
    Console.WriteLine("The message will be submitted with DSN support");
}
else
{
    Console.WriteLine("The message will be submitted without DSN support");
}

VB.NET
If mailer.GetExtension("DSN") IsNot Nothing Then
    Console.WriteLine("The message will be submitted with DSN support")
Else
    Console.WriteLine("The message will be submitted without DSN support")
End If
 
请注意,你应该在Smtp.Connect方法调用后在调用GetExtension(“DSN”)。
请求查看邮件发送状态的另一种方法是使用MailMessage.ConfirmReceipt属性。它允许开发人员获取或设置应收到发送确认邮件的个人电子邮件地址。
以下代码设置Return-Receipt-To消息头:
C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

msg.LoadMessage(@"C:\Temp\MyMail.eml");

msg.ConfirmReceipt = "jdoe@domain.com";

VB.NET
' Create new MailMessage object.
Dim msg As New MailMessage()
 
msg.LoadMessage("C:\Temp\MyMail.eml")
 
msg.ConfirmReceipt = "jdoe@domain.com"

收件人的邮件服务器应该检查接收到的邮件Return-Receipt-To标题值,并将发送确认邮件发送到该标题中指定的电子邮件地址。因此,收件人的邮件软件必须支持Return-Receipt-To功能。一些服务器支持Return-Receipt-To和DSN,而其他服务器只支持其中一个,甚至不支持。你可以同时使用这两种方法。
发送状态信息尚未确保收件人已阅读该邮件。要获取包含电子邮件地址的字符串,请使用MailMessage.ConfirmRead属性。
C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

// Load the message from .eml file
msg.LoadMessage(@"C:\Temp\MyMail.eml");

// Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead);

VB.NET
' Create new MailMessage object.
Dim msg As New MailMessage()
 
' Load the message from .eml file
msg.LoadMessage("C:\Temp\MyMail.eml")
 
' Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead)
注意: 收件人使用的邮件客户端必须支持ConfirmRead功能(该软件必须支持Disposition-Notification-To标头)。
未发布 远程共享工具USB Network Gate v8.0.1828发布,支持Windows Server 2016
by Harriet666 keys 分享 1500887724702
USB Network Gate(原USB以太网连接器)可以通过以太网(互联网/局域网/广域网)在您的计算机上轻松连接一个或多个远程USB设备。如果你是在其他国家或在隔壁的办公室,那也没关系,你可以随时地使用远程打印机,扫描仪,摄像头,USB加密狗或其他任何东西,就好像他们是直接连接到你的电脑上的。
 
【USB Network Gate v8.0.1828点击下载>>>】
 
增加以下本地化:
  • 中文
  • 荷兰语
  • 法语
  • 德语
  • 意大利语
  • 日语
  • 韩语
  • 波兰语
  • 葡萄牙语
  • 俄语
  • 西班牙语
新增:
  • 显示每个连接双向传输的数据量。
  • 显示每个连接的双向数据传输速度。
  • 其他客户端连接到本地时显示客户端的IP地址(而不是“localhost”)。
  • 如果共享设备在一段时间内未激活,增加客户端自动断开选项。
  • 防止共享设备在断开连接后重新启动的选项。
  • 完全支持Windows Server 2016。
改进:
  • 与高分辨率显示器的GUI兼容性。
  • USB Network Gate服务器与客户端之间网络连接的性能。
  • 驱动程序使用WHQL进行数字签名。
修复:
  • 当从USB集线器共享设备时执行“unshare-all-usb-ports”命令,该USB集线器与设备断开连接,并未在列表中。
  • 出现几个BSOD。
  • 客户端命令行中显示的共享设备的描述和状态不准确。
  • 使用系统中显示的USB驱动器作为SCSI(例如Seagate Expansion)。
  • 在设备共享后启用“允许其他用户断开连接”选项不会保持。
  • 共享相同设备时出现的问题。
  • 次要激活问题。
未发布 图形图表设计软件Edraw Max更新至v9.0,新增10000+符号和模板丨限时8.5折
by Harriet666 keys 分享 1510734839751
Edraw Max(亿图图示)是一款综合图形图表制作软件,它包含丰富的实例和模版,帮助您轻松创建流程图、网络拓扑图、组织结构图、商业图表、工程图,思维导图、软件设计图和平面布局图等。亿图采用更智能和人性化的绘制方式,包括丰富的图形模板库和特色实例库,最大程度帮助设计者降低工作量,更快捷阐述设计思想,提升创作灵感。
 
Edraw Max(亿图图示)中文版v9.0下载>>>
 
v9.0更新内容:
  • 新增超过10000个新的符号和模板。
  • 新增平面设计图纸类型。
  • 新增图形组织者的绘图类型。
  • 新增企业架构图的绘图类型。
  • 修复Mind Map中无效的Enter键。
  • 改进文字输入模式。

  • EdrawSoft85

未发布 .NET图像处理库ImageGear for .NET v23发布,新增AcroForm功能和亚洲OCR丨附下载
by Harriet666 keys 分享 1496731502868
ImageGear for .NET是一款图形图像处理控件,可以轻松地为程序添加扫描/压缩/条形码识别/PDF/文件查看与处理/图形编辑与处理等功能。具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。
 
最新版本的ImageGear.NET v23,为开发人员提供了新的AcroForm功能;将亚洲光学字符识别(OCR)输出添加到PDF,通过将中文、日文和韩文OCR输出结合到PDF中,扩大了适应性和在全球无缝创建PDF的能力;并通过合规性检查加强了PDF/A转换。
 
【ImageGear.NET v23最新版下载>>>】

新增功能


PDF AcroForms——创建、读取和写入PDF表单字段和数据

d353839346c4441381fb5d0d1e386b06ojpg
高级AcroForms SDK提供强大的表单功能
.NET开发中AcroForms SDK *可以将AcroForm字段添加、更新或删除到新的或现有的PDF中。这为你的用户提供从表单域读取和写入数据的方式,而无需离开你的网站或应用程序。如果他们需要更新现有的PDF,SDK会通过注释工具提供帮助。
使用表单增强你的应用程序
需要让你的用户访问数字表单?预先填充表单域允许用户直接从你的网站或应用程序将数据写入表单。将表单字段添加到PDF,包括:
·  复选框
·  文本字段
·  列表框
·  组合框
·  状态设置框
ImageGear还允许低级别访问PDF,以便用户可以直接从你的网站或应用程序访问任何文档或AcroForm。
 

亚洲OCR——包括中文、日文和韩文的语言自动检测和PDF输出
274011dbdffa41fba34c89f02c47a271ojpg

 
ImageGear增加了其先进的光学字符识别功能。ImageGear支持亚洲语言,提供中文、日文和韩文的OCR。
语言支持
亚洲OCR支持横向和纵向文字的亚洲语言。支持的语言有:
·  传统中文
·  简体中文
·  日语
·  韩语
自动语言检测技术
ImageGear使用自动语言检测技术来完成文档的OCR,包括含有亚洲语言的文档。此功能可以帮助你的业务在亚洲市场取得成功。
亚洲OCR输出格式
通过使用所有识别信息(字体细节、定位的图像区域和识别的表格结构信息)来创建格式化的输出,以重述原始文档的含义。亚洲版利用OCR引擎的强大功能,用亚洲语言创建文档图像的强大格式化输出。
亚洲版输出格式:
·  TXT
·  Word
·  Excel
·  HTML
·  PDF 

 

功能增强


OCR——改进OCR布局、分区顺序和文档

21c94ebab7e64b349fc0a74e76e8c3c0ojpg.NET,C,C ++和C#OCR
ImageGear OCR可用于Windows上的多种平台和语言,包括C,C ++,C#和其他.NET语言。ImageGear提供超过100种语言的全页光学字符识别(OCR),包括西方和亚洲语言如中文、日文和韩文。ImageGear的自动语言检测功能使OCR功能完善。
OCR可作为附件购买,为应用程序开发提供完整的文档图像库。我们的C#OCR SDK:
·  包括100多种不同的语言
·  检测并读取中文、韩文和日文
·  识别单个图像中的多种语言的字符
·  OCR样本可用于C#,VB.NET,C和C ++
全页OCR
·  通过我们的自动分区和细分功能,你的用户可以:
·  将页面自动分割为各个区域进行处理
·  根据流程、表格或图形将类型分配给定位的区域
·  用先进技术检测表格,改善数据结果重构
·  处理页面的全幅图像或单个区域
·  由用户定义区域,从文件加载或由引擎自动检测
最大精度的图像预处理
OCR之前会发生什么?看看OCR的预处理步骤:
·  高级图像处理方法可用于提高OCR精度
·  自动反转功能检测图像是否需要反转以获得最高精度
·  自动图像方向检测和调整图像
·  纠错方法检测图像并自动校正,提高分割和识别精度
·  去斑方法去除图像捕获过程中的污点和缺陷
·  分辨率增强提高了低分辨率图像的质量
预定义和可定制的字典
ImageGear的OCR在扫描文档时使用预定义的字典和数据字典。ImageGear使用17种不同语言的高级拼写检查,每种语言都在特定字典中。17个词典中的每一个都包含100,000到200,000个条目。垂直字典可以改善医疗和法律行业的拼写检查和OCR准确性。
卓越的结果处理
ImageGear OCR引擎以Unicode格式处理所有数据。可以为具有多个输出选项的特定代码页格式化数据输出,如:
·  PDF上的图像
·  基于文本的PDF
·  Microsoft Office 2007
·  Microsoft Office 97(Word,Excel和Powerpoint)
·  RTF
·  HTML
·  XML
OCR版本:ImageGear的功能选项
ImageGear有三个不同的功能选项。三个选项之间的主要区别是OCR引擎创建的输出格式。你的开发选项如下:
1、标准版
标准版为西方语言(如英语)创建输出格式。标准版仅输出文本文件并生成PDF。它包括的文件格式是可搜索的文本PDF和文本文档。
2、标准版Plus
标准版本Plus为西方语言(如英语)创建格式化输出。使用识别技术创建格式化的输出,以识别字体细节、定位图像区域并识别表格结构以创建原始文档。它包括的文件格式有Word、Excel、HTML、可搜索的PDF和文本文档。
3、亚洲版
亚洲版为亚洲语言(如中文,日语和韩语)创建格式化的输出。这种格式化的输出是使用与标识字体相同的识别技术来创建的,它标识字体细节、定位图像区域,并识别表格结构。格式包括Word、Excel、HTML、可搜索的PDF和文本文档。
*目前该功能仅适用于ImageGear for .NET。
 

PDF/A——丰富的PDF/A,并具有PDF/A转换的合规性检查

55374f37758442cbb78dd8962f7c570dojpg将PDF文件转换成PDF/A文件
PDF/A是一种ISO标准类型的PDF文件,用于存档和长期保存文件,以便它们能够与原始文件完全一致。元素(如字体)必须是独立的或嵌入的,以保留原始文件的格式和属性。PDF/A已经在欧洲流行,在美国正成为更广泛使用的文件格式。
ImageGear PDF/A特点:
·  根据光栅图像文件和扫描的图像创建PDF/A文件
·  验证PDF/X(PDF/X-1a,PDF/X-3和PDF/X-4)和PDF/A(PDF/A-1a和PDF/A-1b)合规性的PDF文件
·  将不合格的PDF文件转换为符合PDF/A-1b的PDF文件
·  新的增强功能可以改善从PDF到PDF / A的合规检查和转换过程
*目前PDF到PDF/A转换仅在ImageGear .NET中可用。
 
 

未发布 电子邮件.NET控件MailBee.NET Objects使用指南合集(上)
by Harriet666 keys 分享 1503998428608
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。本文主要介绍了MailBee.NET Objects的使用指南。
 
MailBee.NET Objects介绍和试用点击查看>>>

一、发送和接收电子邮件时需要哪些东西?

要在应用程序中发送和接收电子邮件,你需要MailBee Objects或MailBee.NET Objects,它们是应用程序和邮件服务器之间的接口(API),允许发送、接收和解析/构建电子邮件。
 
虽然MailBee.NET Objects允许没有中继SMTP服务器的情况下(直接发送到收件人的SMTP服务器)发送电子邮件。通常,发送是通过一个SMTP服务器执行的,该服务器接收你的邮件,并将其转发给收件人。显然你需要SMTP服务器来发送和接收电子邮件,或者你可以发送没有SMTP服务器的邮件,但在这种情况下,由MailBee.NET Objects提供的应用程序应安装在已分配MX记录的工作站/服务器上,否则大多数收件人的SMTP服务器将出于安全原因拒收你的邮件。你可以设置自己的邮件服务器,使用ISP的一个或任何可用的Internet服务器。
 
大多数邮件服务器支持SMTP、POP3和IMAP协议。SMTP协议用于发送邮件,POP3和IMAP用于接收存储在邮箱中的邮件。MailBee Objects和MailBee.NET Objects完全支持这些协议,你可以使用它们与任何邮件服务器进行通信。如果你想通过Web浏览器向用户提供对其电子邮件的访问权限,则可以使用AfterLogic WebMail Lite或AfterLogic WebMail Pro。
 

二、MailBee和MailBee.NET组件可以与MS Exchange服务器配合使用吗?

是的,你可以同时使用MailBee(ActiveX)和MailBee.NET组件将电子邮件发送到Exchange服务器,也可以从此服务器接收电子邮件和文件夹。WebMail Pro应用程序还可以访问Exchange服务器上的邮件。
 
同时也支持与Exchange服务器的SSL连接(例如S / POP3,S / IMAP,S / SMTP)。
 
要从.NET在.NET应用程序中下载电子邮件,可以使用MailBee.NET POP3或MailBee.NET IMAP组件。
 
要在ActiveX / Windows /ASP应用程序中从Exchange下载电子邮件,可以使用MailBee POP3或MailBee IMAP ActiveX组件。
 
但是,请确保在防火墙中打开POP3(110)或IMAP(143)端口,并在Exchange服务器上运行POP3 / IMAP服务。默认情况下,POP3和IMAP在Exchange中被禁用!MS Office Outlook在与Exchange通信时使用内部协议,因此不需要IMAP或POP3,因此POP3 / IMAP服务通常在Exchange服务器上禁用。
 
要发送电子邮件到Exchange,你可以分别使用MailBee.NET SMTP或MailBee SMTP ActiveX。另外,确保SMTP(25)端口在防火墙中打开,SMTP服务在Exchange服务器上运行。在Exchange上登录邮件帐户时,你可能会发现Outlook中使用的用户名不能与MailBee一起使用。这不是错误。其实Outlook可能不只是用户名,还包含用户名+域名。因此,建议只尝试用户名,username @ domain,domain\username。此外,Exchange中可能会禁用某些身份验证方法,因此你可能需要使用NTLM而不是常规身份验证。
 

三、如何下载带有附件的电子邮件

当你使用MailBee(ActiveX)或MailBee.NET组件(例如POP3RetrieveSingleMessage for ActiveX或POP3.DownloadEntireMessage for .NET)下载邮件时,你将收到带有附件的邮件而无需单独下载附件。
 
以下.NET组件可以下载电子邮件:MailBee.NET POP3、MailBee.NET IMAP。
 
以下ActiveX组件可以下载电子邮件:MailBee POP3、MailBee IMAP4。


四、MailBee.NET Objects和MailBee Objects有什么区别?

MailBee Objects是一组完整的组件,用于创建和发送邮件到SMTP服务器,并从POP3服务器接收、解析和删除电子邮件。MailBee组件可用于ASP、VB、C ++、VBScript、JavaScript或任何其他支持ActiveX技术的环境。虽然MailBee Objects可以在.NET应用程序中使用,但我们建议使用MailBee.NET Objects。
 
MailBee.NET Objects是一组用于创建、发送、接收和处理电子邮件的强大且功能丰富的.NET组件。MailBee.NET Objects可以在包含C#和VB的任何.NET语言中使用,并且可以在v2.0-4.x范围内使用任何.NET Framework版本。
 
如果要开发一个由MailBee组件支持的.NET应用程序,则应该使用MailBee.NET Objects。如果你正在开发的应用程序不能依赖.NET框架,建议使用MailBee Objects。
未发布 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

 近期热门 - 点击最多
  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