未找到

未发布 条码控件Dynamsoft Barcode Reader教程:从PDF417驾驶执照中提取数据
by Harriet666 keys 分享 1499929296192
根据AAMVA卡的设计标准,PDF417二维条码符号系统是符合驾驶执照/识别文件必须存在的最低强制性机读技术。条形码编码关于持卡人的关键信息,包括姓名、出生日期、性别、眼睛颜色、身高等等。
 
从驾驶执照中提取数据有两种方法。我们可以使用OCR技术识别ID上打印的字符。或者,我们可以使用条形码识别技术对PDF417符号系统进行解码,然后将其解析为可读的格式。一般来说,后者比前者更准确,性价比更高。
 
本文将讨论如何使用Dynamsoft Barcode Reader SDK从驾驶执照中提取文本。
 
Dynamsoft Barcode Reader最新版下载>>>

在线演示

要了解这是如何进行的,你可以尝试在线演示 - 查看驾驶执照的PDF417条码
 
请注意,此演示还提供文档扫描,由Dynamsoft Web TWAIN SDK提供支持。

如何从PDF417驾驶执照中提取数据

步骤1.检测并解码PDF417代码
var barcodeImage = DWObject.GetImageURL(index, -1, -1);
dbrObject.readURLAsync(barcodeImage,
    index,
    GetBarcodeInfo,
    OnBarcodeReadFailure);
function OnBarcodeReadFailure(sImageIndex, errorCode, errorString) {
    console.log(errorString);
}
function GetBarcodeInfo(sImageIndex, result) {//This is the function called when barcode is read successfully
    //Retrieve barcode details
    var count = result.getCount();
    if (count == 0) {
        alert("The barcode for the selected format is not found.");
        return;
    } else {
        for (i = 0; i < count; i++) {
            Barcode_text = result.get(i).text;
            var x = result.get(i).x1;
            var y = result.get(i).y1;
            var format = result.get(i).formatString;
            var barcodeText = ("barcode[" + (i + 1) + "]: " + "\n" + Barcode_text + "\n");
            extractInformation();
        }
    }
}
 
步骤2.将其解析成可读的格式
driverLicenseFields = [
        { 'abbreviation': 'DAA', 'description': 'Full Name' }
        , { 'abbreviation': 'DAB', 'description': 'Last Name' }
        , { 'abbreviation': 'DAB', 'description': 'Family Name' }
        , { 'abbreviation': 'DAC', 'description': 'First Name' }
        , { 'abbreviation': 'DAC', 'description': 'Given Name' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name' }
        , { 'abbreviation': 'DAE', 'description': 'Name Suffix' }
        , { 'abbreviation': 'DAF', 'description': 'Name Prefix' }
        , { 'abbreviation': 'DAG', 'description': 'Mailing Street Address1' }
        , { 'abbreviation': 'DAH', 'description': 'Mailing Street Address2' }
        , { 'abbreviation': 'DAI', 'description': 'Mailing City' }
        , { 'abbreviation': 'DAJ', 'description': 'Mailing Jurisdiction Code' }
        , { 'abbreviation': 'DAK', 'description': 'Mailing Postal Code' }
        , { 'abbreviation': 'DAL', 'description': 'Residence Street Address1' }
        , { 'abbreviation': 'DAM', 'description': 'Residence Street Address2' }
        , { 'abbreviation': 'DAN', 'description': 'Residence City' }
        , { 'abbreviation': 'DAO', 'description': 'Residence Jurisdiction Code' }
        , { 'abbreviation': 'DAP', 'description': 'Residence Postal Code' }
        , { 'abbreviation': 'DAQ', 'description': 'License or ID Number' }
        , { 'abbreviation': 'DAR', 'description': 'License Classification Code' }
        , { 'abbreviation': 'DAS', 'description': 'License Restriction Code' }
        , { 'abbreviation': 'DAT', 'description': 'License Endorsements Code' }
        , { 'abbreviation': 'DAU', 'description': 'Height in FT_IN' }
        , { 'abbreviation': 'DAV', 'description': 'Height in CM' }
        , { 'abbreviation': 'DAW', 'description': 'Weight in LBS' }
        , { 'abbreviation': 'DAX', 'description': 'Weight in KG' }
        , { 'abbreviation': 'DAY', 'description': 'Eye Color' }
        , { 'abbreviation': 'DAZ', 'description': 'Hair Color' }
        , { 'abbreviation': 'DBA', 'description': 'License Expiration Date' }
        , { 'abbreviation': 'DBB', 'description': 'Date of Birth' }
        , { 'abbreviation': 'DBC', 'description': 'Sex' }
        , { 'abbreviation': 'DBD', 'description': 'License or ID Document Issue Date' }
        , { 'abbreviation': 'DBE', 'description': 'Issue Timestamp' }
        , { 'abbreviation': 'DBF', 'description': 'Number of Duplicates' }
        , { 'abbreviation': 'DBG', 'description': 'Medical Indicator Codes' }
        , { 'abbreviation': 'DBH', 'description': 'Organ Donor' }
        , { 'abbreviation': 'DBI', 'description': 'Non-Resident Indicator' }
        , { 'abbreviation': 'DBJ', 'description': 'Unique Customer Identifier' }
        , { 'abbreviation': 'DBK', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBL', 'description': 'Date Of Birth' }
        , { 'abbreviation': 'DBM', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBN', 'description': 'Full Name' }
        , { 'abbreviation': 'DBO', 'description': 'Last Name' }
        , { 'abbreviation': 'DBO', 'description': 'Family Name' }
        , { 'abbreviation': 'DBP', 'description': 'First Name' }
        , { 'abbreviation': 'DBP', 'description': 'Given Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DBR', 'description': 'Suffix' }
        , { 'abbreviation': 'DBS', 'description': 'Prefix' }
        , { 'abbreviation': 'DCA', 'description': 'Virginia Specific Class' }
        , { 'abbreviation': 'DCB', 'description': 'Virginia Specific Restrictions' }
        , { 'abbreviation': 'DCD', 'description': 'Virginia Specific Endorsements' }
        , { 'abbreviation': 'DCE', 'description': 'Physical Description Weight Range' }
        , { 'abbreviation': 'DCF', 'description': 'Document Discriminator' }
        , { 'abbreviation': 'DCG', 'description': 'Country territory of issuance' }
        , { 'abbreviation': 'DCH', 'description': 'Federal Commercial Vehicle Codes' }
        , { 'abbreviation': 'DCI', 'description': 'Place of birth' }
        , { 'abbreviation': 'DCJ', 'description': 'Audit information' }
        , { 'abbreviation': 'DCK', 'description': 'Inventory Control Number' }
        , { 'abbreviation': 'DCL', 'description': 'Race Ethnicity' }
        , { 'abbreviation': 'DCM', 'description': 'Standard vehicle classification' }
        , { 'abbreviation': 'DCN', 'description': 'Standard endorsement code' }
        , { 'abbreviation': 'DCO', 'description': 'Standard restriction code' }
        , { 'abbreviation': 'DCP', 'description': 'Jurisdiction specific vehicle classification description' }
        , { 'abbreviation': 'DCQ', 'description': 'Jurisdiction-specific' }
        , { 'abbreviation': 'DCR', 'description': 'Jurisdiction specific restriction code description' }
        , { 'abbreviation': 'DCS', 'description': 'Family Name' }
        , { 'abbreviation': 'DCS', 'description': 'Last Name' }
        , { 'abbreviation': 'DCT', 'description': 'Given Name' }
        , { 'abbreviation': 'DCT', 'description': 'First Name' }
        , { 'abbreviation': 'DCU', 'description': 'Suffix' }
        , { 'abbreviation': 'DDA', 'description': 'Compliance Type' }
        , { 'abbreviation': 'DDB', 'description': 'Card Revision Date' }
        , { 'abbreviation': 'DDC', 'description': 'HazMat Endorsement Expiry Date' }
        , { 'abbreviation': 'DDD', 'description': 'Limited Duration Document Indicator' }
        , { 'abbreviation': 'DDE', 'description': 'Family Name Truncation' }
        , { 'abbreviation': 'DDF', 'description': 'First Names Truncation' }
        , { 'abbreviation': 'DDG', 'description': 'Middle Names Truncation' }
        , { 'abbreviation': 'DDH', 'description': 'Under 18 Until' }
        , { 'abbreviation': 'DDI', 'description': 'Under 19 Until' }
        , { 'abbreviation': 'DDJ', 'description': 'Under 21 Until' }
        , { 'abbreviation': 'DDK', 'description': 'Organ Donor Indicator' }
        , { 'abbreviation': 'DDL', 'description': 'Veteran Indicator' }
        , { 'abbreviation': 'PAA', 'description': 'Permit Classification Code' }
        , { 'abbreviation': 'PAB', 'description': 'Permit Expiration Date' }
        , { 'abbreviation': 'PAC', 'description': 'Permit Identifier' }
        , { 'abbreviation': 'PAD', 'description': 'Permit IssueDate' }
        , { 'abbreviation': 'PAE', 'description': 'Permit Restriction Code' }
        , { 'abbreviation': 'PAF', 'description': 'Permit Endorsement Code' }
        , { 'abbreviation': 'ZVA', 'description': 'Court Restriction Code' }
    ]
未发布 .Net文档图像处理工具包GdPicture.NET发布v14.0.25,提升1D条形码引擎
by Harriet666 keys 分享 1510565126468
GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。
在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。
 
GdPicture.NET v14最新版下载>>>
GdPicture.NETv14.0.25更新内容:
  • 提高了1D条形码引擎的准确性和速度。
  • 改进了颜色检测引擎的准确性。
  • 使用type 3字体改进PDF渲染。
  • 改进TWAIN采集。
  • 根据屏幕比例改进GdViewer(WinForm)渲染和行为。
  • 改进PDF解析器,更好地处理一些损坏的数据。
  • DocuVieware:新属性EnableDocumentsDrop()。
  • DocuVieware:新的JavaScript函数RegisterOnFullscreenModeChanged()。

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

未发布 企业级工具包Essential Studio Enterprise Edition 2017 v2发布丨附下载
by Harriet666 keys 分享 1495869194719
Essential Studio企业版,一个跨越八个平台并包含433种独特控件的企业级工具包。使用Essential Studio企业版,开发者可以创建丰富的应用程序,并轻松地集成商业智能分析和报告解决方案。Essential Studio企业版是世界级的软件组件,它使得开发者能在最苛刻的环境下开发出高质量的软件。
 
Essential Studio企业版2017 v2点击下载>>>

Essential Studio Enterprise Edition 2017 v2

  • Xamarin的sunburst图和图像编辑器控件。
  • UWP的甘特控件。
  • ASP.NET MVC的日期范围选择器控件。
  • Xamarin的列表视图控件已正式发布。

Essential Studio for JavaScript

Essential Studio for JavaScript通过添加文本注释、Mondrian XML / A支持、列表视图中的虚拟滚动以及许多其他功能,扩展了企业Web开发界限。
abc714f5d74445e3b4a9109ed41184ebojpg
文本标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
bfcc0598ddcb494d8b0f2675f833ec6aojpg
支持客户端Mondrian XML/A
通过不同版本的XML/A连接从Mondrian中检索多维数据。
bd9edb5af7ee4e6d98a7429748173004ojpg
虚拟滚动
在列表视图控件中启用正常或连续的虚拟滚动以提高性能。
点击查看更多更新>>

Essential Studio for Xamarin

Essential Studio for Xamarin是最好的Xamarin.Forms套件之一,新增sunburst图表控件和许多其他功能。
0121c51af194452888456323b58b1427ojpg
新的sunburst图表
以同心的方式可视化不同级别的分层数据。
149696eb4f124f52ac1397c2d7126aa6ojpg
自动列表项目
根据列表视图控件中的内容大小自动适应列表项。
9f629a484db74c4cb0175878623cc240ojpg
表格摘要
显示数据网格控件顶部或底部的摘要信息。
点击查看更多更新>>

Essential Studio for WPF

Essential Studio for WPF是一个大型套件,新版本添加了工作簿排序和过滤、动态图表端口、Adobe X安全性和其他新的功能。
3040f223b865470eaf2d90c10aba92d8ojpg
在工作簿中排序和过滤
通过使用电子表格控件过滤和排序来分析工作簿中的数据。
4cf14b6243ea40c2b23b957d91d59cf3ojpg
滚轮鼠标平移
通过滚轮鼠标的中心滚动按钮平移图表。
f950fa4612434af09fb299f332b55083ojpg
Adobe X加密和解密
使用带有PDF 2.0安全功能的Essential PDF(AES Revision 6)。
点击查看更多更新>>

Essential Studio for Windows Forms

Essential Studio for Windows Forms 2017 v2版本,支持office 2016和主题定制等功能。
66d5151af621433c82e5c1ae8ceda524ojpg
Office 2016数字量规的样式
Office 2016主题外观和主题定制支持数字、线性和径向量规形式。
181dd65e956e42469c1ea284926c5c48ojpg
Excel表格过滤器
使用Essential XlsIO,根据文本,数字和日期筛选Excel表格中的行。
de89d91566f649a1abaf30e2266bbd69ojpg
Adobe X加密和解密
使用带有PDF 2.0安全功能的Essential PDF(AES Revision 6)。
点击查看更多更新>>

Essential Studio for UWP

Essential Studio for UWP为通用Windows平台增加了更多功能,新增甘特图控件。
a9378ad37e3b41fa9c913470ec4ee022ojpg
新甘特图控件
通过可视化和编辑计划来跟踪项目的进度。
7a78cca185844ad7813360a19024e510ojpg
片段装饰
为连接器添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。
584717f90f1e44719f8f1843e9d615cdojpg
数据透视图注释
在透视图中添加包含图表系列元数据的注释。
点击查看更多更新>>

Essential Studio for ASP.NET Web Forms

Essential Studio for ASP.NET Web Forms 2017 v2版本增加大量新功能包括自定义树形网格工具栏、文本注释等。
f7a601d32b7543fd8604e83839bd6074ojpg
文本标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
d0f00d90b4d148b59dfc9455b0e0050aojpg
导出到PDF
将甘特图内容导出为PDF文件。
8877795f43fc4058aa77dc1515a1dba7ojpg
自定义工具栏
将自定义项目添加到树形网格控件的工具栏。
点击查看更多更新>>

Essential Studio for ASP.NET MVC

ASP.NET MVC 2017 v2版本增加了更多的功能,例如新的日期范围选择器、文本注释和PowerPoint文件的注释编辑。
b8179fd221e04cadba1f0137525d8661ojpg
新日期范围选择器
从一组预定义或自定义范围中选择一个日期范围。
c63bc61d4b084938960de1086ba7988cojpg
文字标记
在PDF查看器中添加和编辑文本标记注释,以突出显示、下划线和删除线标记文本。
263fbb270e714bd0b89ba2f12e5e2423ojpg
添加和编辑注释
使用Essential Presentation在PowerPoint文件中创建和修改注释。
点击查看更多更新>>

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

未发布 【移动开发】Essential Studio for WPF 2017 v1新版发布丨附下载
by Harriet666 keys 分享 1488445200868
Essential Studio for WPF更新至2017 v1版本,增加了数据网格、地图和sunburst chart控件等更多其他功能。

Essential Studio for WPF 2017 v1点击下载>>>

【示例教程】如何用LEADTOOLS 实现一个简单的STORE SCU存储客户端
by Harriet666 keys 分享 1519722017492
leadtools提供了封装后的dicom插件,可以非常方便的开发出dicom通讯部分的组件,本篇教程讲解如何使用相关的接口进行代码编写,实现Dicom协议中的CStore存储操作。
 
1.用vs2015创建一个winform项目,引用下面的dll,并在代码里引用
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Common;
using Leadtools.Dicom.Scu;
using Leadtools.MedicalViewer;
using System.Net;
using System.IO;
 
2.创建下面的对象
// CStore highlevel 客户端和服务端对象
        private StoreScu _cstore;
        private DicomScp _server = new DicomScp();
 
3.初始化服务器和客户端参数,
本次用的服务器即是开发包中运行pacs服务器设置程序后,创建的L19_PACS_SCP64
private void initServer() {
            _server = new DicomScp();
            _server.AETitle = "L19_PACS_SCP64";
            _server.PeerAddress = IPAddress.Parse("10.32.1.75");
            _server.Port = 534;
            _server.Timeout = 30;
        }
private void initCstore() {
            _cstore = new StoreScu();
            _cstore.AETitle = "L19_CLIENT64";
            _cstore.HostPort = 1030;
            //存储成功后
            _cstore.AfterCStore += _cstore_AfterCStore;
        }
 
4.执行存储命令
private void 存储ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filename ="D:\\Xa.dcm";
            _cstore.Store(_server, filename);

        }

保存成功后即可在服务器管理器中,或者使用客户端查询已经存储的图像。
未发布 解析企业使用开源软件的潜在风险
by Harriet666 keys 分享 1509608088587

很多企业都选择使用开源软件(OSS)构建更加灵活的产品,但其中也存在潜在的风险,软件供应商和IoT制造商都有必要去了解一下隐藏在软件供应链中的风险。

已知风险

例如,犯罪分子就完全可以利用Apache Struts CVE-2017-5638漏洞来获取Equifax客户的个人资料。众所周知,Apache Struts是一种广泛使用的开源组件 – Web服务器的框架,它可以用于接收和提供公司内部系统中的商业数据。归根到底,还是因为这个开源组件所存在的漏洞以致于使其成为网络攻击的主要目标。

主要发现

根据Flexera的一份最新报告显示,在商业和IoT软件产品中所发现的代码有百分之五十都是与开源软件有关的。但调查显示只有37%的受访者表示曾获取并使用开源软件。而63%的公司说,他们并没有获取或使用开源软件,或者说他们根本就不知道有这种情况的存在。

并且据了解,目前基本没有人对开源软件的安全性负责:39%的受访者表示,在他们公司内部没有人会对开源软件的安全性负责,或者可以说他们压根就不知道应该是由谁来负责。

除此之外,开源软件的贡献者也不是遵循最佳实践:33%的受访者表示自己的公司曾为开源项目做出了贡献。但是,又有63%的受访者表示他们的公司压根并没有开源采购或使用政策,当然也有43%的受访者表示自己本身对开源项目也有做出贡献。

不管怎样,我们都不能忽视开源确实是一个明显的捷径。 Flexera产品管理副总裁Jeff Luszcz表示:“完全开源可获取的代码可以快速获得产品,这对于软件开发的快速节奏来说非常重要。” “然而,大多数软件工程师并没有在私下里去跟踪开源的使用情况,而且有绝大部分的软件高管都没有意识到其安全/合规风险方面存在一定差距。”

事实上,对于开源软件使用过程中的安全合规、许可等流程可能远比简单的拿来用要方便的多,但这些流程毫无疑问是必不可少的。

“开源软件的安全合规流程能够很好的保护产品和品牌声誉。但大多数软件和IoT厂商都没有意识到存在的问题,所以他们并没有保护自己和户,”Luszcz说,“对于暴露产品合规性和漏洞风险的供应商,还有那些压根就不知道他们运行开放源代码和其他第三方软件的客户,甚至可能是包含软件漏洞的客户 ,这些都是会危及到整个软件供应链。”



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

未发布 【教程】网络安全工具FileAudit安装指南
by Harriet666 keys 分享 1511429161006
FileAudit可用于对Windows服务器上文件和文件夹的所有访问进行主动跟踪、审核、报告和警告。本文为大家介绍FileAudit的具体安装步骤。
 
FileAudit安装包(FileAudit_Setup.exe)点击下载>>>
 
英文和法文版本是相同的,并且与32位和64位平台兼容。
 
请在安装FileAudit之前阅读要求
 
1、要启动FileAudit安装过程,请使用管理员帐户运行FileAudit_Setup.exe。
 
2、启动安装过程:

 
3、在随后的窗口中,单击 下一步>:
 
4、仔细阅读并接受最终用户许可协议,然后单击下一步> :
 
5、在随后的窗口中,输入您的信息,然后单击下一步> :
 
6、可根据需要更改安装文件夹:
 
7、在“安装类型”中,选中“Complete”复选框并点击下一步> :
 
8、点击 “安装”开始FileAudit安装:
 
9、向导将在FileAudit成功安装时报告。点击“完成 ”:

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程二:SMTP认证
by Harriet666 keys 分享 1493360808088
 
大多数SMTP服务器都要求用户进行身份验证,才能将电子邮件发送到外部电子邮件地址(属于其他域的地址)。登录/密码通常与同一服务器上用户的POP3或IMAP帐户相同。
C#:
Smtp mailer = new Smtp();
SmtpServer server = new SmtpServer("smtp.company.com", "jdoe", "secret");    
mailer.SmtpServers.Add(server);
...
mailer.Send();                                                               
VB.NET:
Dim mailer As New Smtp() 
Dim server As New SmtpServer("smtp.company.com","jdoe","secret") 
mailer.SmtpServers.Add(server)
...
mailer.Send()
 
在这种情况下,如果要使用Connect方法手动建立连接,过程如下:
C#:
Smtp mailer = new Smtp();
SmtpServer server = new SmtpServer("mail.domain.com", "user@domain.com", "pass");
mailer.SmtpServers.Add(server);
mailer.Connect();
mailer.Hello();
mailer.Login();                                                            
VB.NET:
Dim mailer As New Smtp()
Dim server As New SmtpServer("mail.domain.com", "user@domain.com", "pass")
mailer.SmtpServers.Add(server)
mailer.Connect()
mailer.Hello()
mailer.Login()
 
如果启用SMTP认证(由于登录名和密码在SmtpServer函数中已经确定),那么Login方法将尝试使用服务器支持的最佳(最安全)的方法在SMTP服务器上进行身份验证。你也可以强制MailBee使用指定的身份验证方法,或尝试最简单而不是最安全的方法。
以下代码可以强制MailBee使用SASL LOGIN(不安全)、SASL PLAIN(不安全)或SASL NTLM(安全)的方法。只有SASL LOGIN或SASL PLAIN暂不支持SASL NTLM:
C#:
Smtp mailer = new Smtp();
SmtpServer server = new SmtpServer("smtp.company.com", "jdoe", "secret");
server.AuthMethods = AuthenticationMethods.SaslLogin | 
AuthenticationMethods.SaslPlain | AuthenticationMethods.SaslNtlm;
server.AuthOptions = AuthenticationOptions.PreferSimpleMethods;
mailer.SmtpServers.Add(server);
...
mailer.Send();                                                        
VB.NET:
Dim mailer As New Smtp() 
Dim server As New SmtpServer("smtp.company.com","jdoe","secret") 
server.AuthMethods = AuthenticationMethods.SaslLogin _ 
Or AuthenticationMethods.SaslPlain Or AuthenticationMethods.SaslNtlm
server.AuthOptions = AuthenticationOptions.PreferSimpleMethods
mailer.SmtpServers.Add(server)
...
mailer.Send()
 
一些较旧的服务器要求客户端自己进行身份验证,但不支持SMTP身份验证。这是因为SMTP身份验证是SMTP协议的可选扩展项(称为ESMTP身份验证更为正确)。在这种情况下,你可以使用与SMTP服务器共享用户帐户数据库的POP3服务器执行POP3认证。这被称为POP-before-SMTP认证。使用MailBee,你可以采用两种方式使用POP-before-SMTP。
如果POP3和SMTP服务器名称相同(例如,两个服务器都是mail.domain.com),并且POP3服务在默认端口110上运行:
C#:
Smtp mailer = new Smtp();
mailer.SmtpServers.Add("mail.domain.com", "jdoe@domain.com", "secret").AuthPopBeforeSmtp = true;
...
mailer.Send();                                                     
VB.NET:
Dim mailer As New Smtp() 
mailer.SmtpServers.Add("mail.domain.com", "jdoe@domain.com", "secret").AuthPopBeforeSmtp = True
...
mailer.Send()
 
如果服务器名称不同(例如POP3的POP.domain.com和SMTP的smtp.domain.com)或POP3端口是非标准的,请在连接到SMTP服务器之前使用AuthPopBeforeSmtp方法。
C#:
Smtp mailer = new Smtp();
mailer.SmtpServers.Add("smtp.domain.com");
mailer.AuthPopBeforeSmtp("pop.domain.com", 110, "jdoe@domain.com", "secret");
...
mailer.Send();                                                       
VB.NET:
Dim mailer As New Smtp() 
mailer.SmtpServers.Add("smtp.domain.com")
mailer.AuthPopBeforeSmtp("pop.domain.com", 110, "jdoe@domain.com", "secret")
...
mailer.Send()
 
注意:POP-before-SMTP验证完成后,你无需再调用Login方法。Login方法仅执行ESMTP认证。
MailBee还支持Windows集成身份验证(使用当前记录的Windows用户的凭据登录)。例如:
C#:
Smtp mailer = new Smtp();
mailer.SmtpServers.Add("smtp.domain.com", null, null, AuthenticationMethods.SaslNtlm);       
VB.NET:
Dim mailer As New Smtp() 
mailer.SmtpServers.Add("smtp.domain.com", Nothing, Nothing, AuthenticationMethods.SaslNtlm)
 
如果你开发的是在匿名IIS或ASP.NET用户文本中运行的ASP.NET应用程序(因为当前记录的用户是IIS用户而不是使用该应用程序的人员),那么你无法使用它。
未发布 HTML5文档查看器PrizmDoc v12.2发布,为Viewing客户端添加了新功能。
by Harriet666 keys 分享 1489721400738

PrizmDoc v12.2最新版点击下载>>>

PrizmDoc是最快速、最有品质的HTML5文档查看器,提供安全的、全定制化的查看和协作功能。它通过一个简单部署的机制减少成本,降低安全风险和提高生产率。同时,它是基于服务器的查看器,消除了不必要的许可和下载。

PrizmDoc发布v12.2新版本,为Viewing客户端和PrizmDoc服务器添加了新功能。

未发布 数据库解决方案Data Abstract 9发布丨附下载
by Harriet666 keys 分享 1488791846601

Data Abstract 9最新版试用点击下载>>>

Data Abstract 9是一次重要的版本更新,而更重要的是它的基础:Remoting SDK框架。查看详细的更新日志,以获得所有功能、增强和错误修正的完整列表。


 近期热门 - 点击最多
  1. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  2. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  3. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  4. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  5. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  6. Springboot+Gradle+Mysql+Jpa最简单实例教程
  7. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  8. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  全端社区 - 最新回复
  1. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  2. Windows与Mac通过git ssh和rsync实现文件共享互传
  3. Windows与Mac通过git ssh和scp实现文件共享互传
  4. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  5. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  6. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  7. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用
  8. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  9. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  10. Springboot+Gradle+Mysql+Jpa最简单实例教程

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

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

OnceOA