未找到

未发布 安全预警:Xshell 5.0 Build 1322官方版本被植入后门,请尽快更新至最新版本
by Harriet666 keys 分享 1502703358521
知名服务器终端管理软件Xshell在7月18日发布的5.0 Build 1322官方版本被植入后门,用户下载、更新到该版本均会中招。危害正在评估中,或可能窃取用户设备信息。
 
Xshell是一款功能强大的服务器终端管理软件,支持SSH1、SSH2、TELNET等协议,由国外公司NetSarang开发,在运维、站长、安全等圈子里有极多受众。
 
NetSarang公司在8月7日发布安全公告,称其最近更新(7月18日)的Xmanager Enterprise、Xmanager、Xshell、Xftp、Xlpd五款软件存在安全漏洞,官方已于8月5日紧急修复,并发布更新版本。目前暂未发现有人利用过漏洞。
 
五款软件的受影响版本:
Xmanager Enterprise 5.0 Build 1232
Xmanager 5.0 Build 1045
Xshell 5.0 Build 1322
Xftp 5.0 Build 1218
Xlpd 5.0 Build 1220
 
8月5日五款软件发布新版本,更新日志基本一致,都提到修复SSH通道的追踪消息和问题文件nssock2.dll:
FIX: Unnecessary SSH channel trace messages
FIX: Patched an exploit related to nssock2.dll
 
NetSarang公司没有解释漏洞的成因,据了解,很可能是该公司遭遇了入侵,发布版本被植入后门。有国内用户更新到Xshell问题版本,抓包发现该版本的nssock2.dll会向陌生域名(*.nylalobghyhirgh.com)发送畸形DNS请求。问题版本的nssock2.dll带有官方签名,可能是攻击者窃取了NetSarang的签名,或者直接在源码层面进行了植入。


修复方案

NetSarang公司已经发布修复版本,建议该公司产品用户请尽快更新至最新版本,企业网络可将*.nylalobghyhirgh.com域名进行屏蔽。

目前五款软件的最新版本:
Xmanager Enterprise 5 Build 1236下载
Xmanager 5 Build 1049下载
Xshell 5 Build 1326下载
Xftp 5 Build 1222下载
Xlpd 5 Build 1224下载
未发布 VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.4,创建PDF可视化工具
by Harriet666 keys 分享 1491816822873
VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。
【最新VintaSoftPDF.NET Plug-in点击下载】

VintaSoftPDF.NET Plug-in v5.4更新内容:


与PDF文档的视觉交互:
  • 创建了一个可视化工具 - PdfAnnotationTool,允许与PDF注释和PDF文档的交互式表单区域进行交互。可视化工具:
    • 在查看模式下,可以查看PDF注释并填写PDF交互式表单的区域。
    • 在标记模式下,允许编辑PDF标记注释并填写PDF交互式表单的区域。
    • 在编辑模式下允许:
      • 调整大小并重新定位PDF注释和交互式区域。
      • 修改PDF评论和交互式区域的外观。
      • 创建/删除/复制/粘贴PDF注释和交互式区域。
      • 立即选择几个PDF评论和交互式区域。
    • 允许将操作分配给PDF注释和交互式字段的触发器。
    • 允许在字段上方显示交互式区域的名称。
    • 允许突出显示可以填写的交互式区域。
    • 仅允许突出显示必须填写的交互式区域。
    • 允许在编辑模式下突出显示PDF注释和交互式区域。
    • 支持执行以下操作:JavaScript、隐藏注释、Goto、启动、命名、URI、导入表单数据、重置表单、提交表单。
    • 允许配置互动区域的视觉外观:颜色、透明度、大小、区域大小。
  • 增加了使用JavaScript注释器和支持执行JavaScript操作的能力。
  • 支持以下可视化工具用户界面(复制、剪切、粘贴、删除、全选)的常见操作:PdfAnnotationTool、PdfContentEditorTool、PdfTextSelectionTool、PdfImageExtractionTool、PdfRemoveContentool。
使用PDF注释:
  • 创建通用PDF注释的外观生成器。
使用PDF交互式区域:
  • 增加了从XFDF格式导入交互式表单的值的功能。
  • 增加了将交互式表单的值导出为XFDF格式的功能。
打印PDF文件:
  • 在WinForms中打印PDF文档时,增加了整体打印性能并减少了内存使用,这是因为新的PdfPrintDocument类是以矢量形
    式来打印PDF文档。
使用PDF文档的字体:
  • 创建通用PDF注释的外观生成器。
  • 使用PDF交互式区域:
  • 增加了从XFDF格式导入交互式表单的值的功能。
  • 增加了将交互式表单的值导出为XFDF格式的功能。
  • 打印PDF文件:
  • 在WinForms中打印PDF文档时,增加了整体打印性能并减少了内存使用,这是因为新的PdfPrintDocument类是以矢量形
    式来打印PDF文档。
  • 使用PDF文档的字体:
  • 增加了对可变代码长度的复合字体的支持。
  • 增加了对复合字体的预定义CMap编码的支持。
  • 增加了对TrueType字体集(.ttc文件)的支持。
  • 增加了创建基于Type1程序的字体子集的功能。
  • 使用改进和简化的字体搜索和替换算法创建了一个新版本的FontProgramsController-s。
  • 增加了将程序替换为14种标准字体的功能。
  • 增加了打包Type1和Type3字体的功能。
  • 增加了基于TTC程序嵌入和打包字体的功能。
  • 增加了对基于Type1和CFF程序的Type3字体模糊文字的功能。
  • 增加了查看进度并获取有关字体混淆、字体打包、内容删除的详细信息的功能。
  • 修复了Type1字体解析器中的一些错误。
  • 修复CFF字体解析器中的一些错误。
渲染PDF文档:
  • 增加了垂直对齐文本的渲染支持。
  • 增加了使用PdfContentRenderer类来控制PDF注释绘图的功能。
  • 支持使用PDF文档的渲染设置对PDF注释进行扩展管理。
使用PDF文档的ow-level tree:
  • 增加了查看和更改PDF文档基础对象树的功能。
  • 增加了将用户数据存储在PDF文档的任何节点中的功能。
演示应用:
  • PdfEditorDemo已经完全修改:
    • 添加了独立面板:
      • 文本选择、文本提取和文本搜索
      • 填写PDF文档的交互式表单区域
      • 注释PDF文件
      • 创建PDF文档的交互式表单区域
      • 从PDF页面提取图像
      • 将图形添加到PDF页面
      • 从PDF页面中删除内容。
    • 增加了注释PDF文档的功能。
    • 增加了填写PDF文档的交互式区域的功能。
    • 增加了使用交互式表单创建PDF文档的功能。
    • 增加了以XFDF格式导出/导入PDF交互式表单的功能。
    • 增加了将交互式表单域导出为PDF格式的功能。
    • 增加了将任何动作分配给PDF注释和交互式区域的任何触发器的功能。
    • 增加了为PDF事件处理程序分配任何操作的功能。
    • 增加了触发所有支持的PDF操作(包括JavaScript操作)的功能。
    • 增加了在激活时反转(超级)链接区域的功能。也可以配置自定义效果。
    • 增加了测试和调试JavaScript代码的功能。
    • 增加了在PDF页面上刻录矢量PDF注释的功能。
  • PdfReaderDemo已经完全修改:
    • 增加了独立面板:
      • 文本选择、文本提取和文本搜索
      • 填写PDF文档的交互式表单域
      • 从PDF页面提取图像。
    • 增加了填写PDF文档的交互式区域的功能。
  • 增加了在PdfStructureEditorDemo中查看PDF文档的low-level tree的功能。
  • 增加了一个演示了如何在PdfReportGeneratorDemo中创建和执行PDF操作的示例。
进行了许多主要和次要的修复。
未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6

未发布 Edraw Office Viewer component教程(一):将Microsoft Word嵌入VB.NET并使之自动化
by Harriet666 keys 分享 1494316589819
Edraw office viewer component对于开发人员来说是一个将Microsoft Word文档嵌入到vb.net应用程序中的简单可靠的解决方案。
 
在VB.Net应用程序中嵌入word文档的最佳方法是什么?相信大多数人都记得OLE技术,它可以将Excel图表嵌入到Word文档中。使用Office XP Primary Interpol Assemblies或嵌入WebBrowser控件并导航到相应的Office文档等。但是所有这些技术都不支持完整的Microsoft Word功能。也有很多已知的错误。
 
本文将逐步介绍如何使用Edraw office viewer component在VB.NET应用程序中嵌入MS Word文件。如果你没有officeviewer.ocx文件,请先安装。
点击下载Edraw office viewer component>>>

打开Visual Studio并创建一个新的VB.NET应用程序。
右键单击HostOffice解决方案。然后单击“Add Reference...”的选项。
 
在弹出的对话框中,从浏览选项卡中选择officeviewer.ocx文件。
 
或从COM选项卡中选择Edraw Office  Viewer Component。
单击确定。Edraw Office  Viewer Component引用此时已添加到新的vb.net项目中。
 
切换到Form1的Form设计窗口。
 
将Edraw Office Viewer Component从“工具箱”面板拖到form1中。

添加以下VB.NET代码来新建、打开、保存、关闭并打印一个word文档,如下所示:
Public Class Form1
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
If Dialog1.ShowDialog() Then
If Dialog1.GetChooseType() = 1 Then
AxEDOffice1.CreateNew("Word.Application")
ElseIf Dialog1.GetChooseType() = 2 Then
AxEDOffice1.CreateNew("Excel.Application")
ElseIf Dialog1.GetChooseType() = 3 Then
AxEDOffice1.CreateNew("PowerPoint.Application")
ElseIf Dialog1.GetChooseType() = 4 Then
AxEDOffice1.CreateNew("Visio.Application")
ElseIf Dialog1.GetChooseType() = 5 Then
AxEDOffice1.CreateNew("MSProject.Application")
End If
End If
End Sub
Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
AxEDOffice1.OpenFileDialog()
End Sub
Private Sub btnSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveAs.Click
AxEDOffice1.SaveFileDialog()
End Sub
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
AxEDOffice1.CloseDoc()
End Sub
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
AxEDOffice1.PrintDialog()
End Sub
Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click
AxEDOffice1.PrintPreview()
End Sub
Private Sub btnToolbars_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToolbars.Click
If AxEDOffice1.Toolbars = True Then
AxEDOffice1.Toolbars = False
Else
AxEDOffice1.Toolbars = True
End If
End Sub
Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click
AxEDOffice1.AboutBox()
End Sub
End Class
 
打开配置管理器。将Active解决方案平台更改为x86选项。
 
然后创建VB.NET项目并开始运行。

The office viewer component支持MS Word 97、Word 2000、Word 2003、Word 2007、Word 2010。它可以在Windows 2000/Xp/Vista/2008/7的32位或64位操作系统上运行。将MS Excel或PowerPoint、Visio、Project嵌入到VB.NET应用程序中,只需要改变Open方法的第二个参数。如下所示:
public void Open()

axEDOffice1.Open(sPath,“Excel.Application”); 
axEDOffice1.Open(sPath,“PowerPoint.Application”); 
axEDOffice1.Open(sPath,“Visio.Application”); 
axEDOffice1.Open(sPath,“MSProject.Application”); 
}
 
有了word组件,在Visual Basic应用程序中使用COM实现Word自动化就会变得十分简单。从解决方案资源管理器引用中为Word Object Library 11.0添加引用。在这里我所用Word 2003,所以对象库的版本是11.0。
下面的示例代码显示了如何构建一个最小的文档,插入一个书签,并且在随后用文本更换空书签。
Imports Microsoft.Office.Interop.Word
Private Sub Automating_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handle Automating.Click 
Dim word = AxEDOffice1.GetApplication()
word.Visible = True 
Dim doc As Document = AxEDOffice1.ActiveDocument()
Dim range As Range = doc.Range 
range.InsertAfter(“Range1”+ vbCrLf)
range.Collapse(WdCollapseDirection.wdCollapseEnd)
doc.Bookmarks.Add(“MijnBookmark”,range)
range.InsertAfter(“Range2”+ vbCrLf)
Dim bookmark As Bookmark = doc。书签(1)
range = bookmark.Range 
range.Text =“Bookmark”+ vbCrLf 
range.Font.Color = WdColor.wdColorBlue 
End Sub
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 【百厂约惠】盘点2017年5款最好用的图形图像/CAD工具
by Harriet666 keys 分享 1512634858391
图像已经成为网络不可或缺的一部分,相比文字来说图像更直观。那么各种图形图像的处理软件、控件就必不可少了。
 
今天为大家推荐慧都2017年5款最受欢迎的图形图像/CAD工具,附带各个软件、控件的基本介绍以及最新版本的下载地址,有兴趣的朋友可以免费下载进行试用。在使用过程中出现了任何问题,请联系我们的在线客服
 
Dynamic Web TWAIN——应用于Web应用程序的TWAIN扫描识别工具 支持所有主流浏览器
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
Dynamic Web TWAIN已加入慧都“百厂约惠”促销活动中,历史最低6.7折等你来抢>>>
【Dynamic Web TWAIN最新版下载】
 
VectorDraw Developer Framework——构建2D、3D图形的矢量图形引擎库
VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
VectorDraw Developer Framework历史最低6.6折限时抢购中,立即查看>>>
【VectorDraw Developer Framework最新版下载】
 
CAD .NET——支持AutoCAD®DWG,DXF,PLT及其它CAD格式
CAD .NET是一款在CAD领域被广泛应用的控件,可以快速准确的阅读DWG和DXF文件,并且通过Windows GDI+方法绘制件,支持多种文件格式,包括DWG、DXF、Gerber、光栅图像等,并支持部分编辑功能。

【CAD .NET最新版下载】

ImageGear for .NET——为程序添加扫描/识别/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等。

【ImageGear for .NET最新版下载】

LEADTOOLS Document Imaging Developer Toolkit——多语言的文档图像处理控件
使用LEADTOOLS Document Imaging可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。

【LEADTOOLS v19总套包免费下载】


更多百厂约惠折扣产品,点击了解>>
 
郑重承诺:慧都所售产品均为厂商授权的正版产品,请完全放心!
 
*想要了解更多优惠信息?请咨询慧都客服
*本活动最终解释权归慧都科技所有
咨询热线: 400-700-1020(免费)  023-66090381

未发布 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用户而不是使用该应用程序的人员),那么你无法使用它。
未发布 【百厂约惠】Dynamsoft全线产品低至6.7折!错过等一年
by Harriet666 keys 分享 1513066876424
Dynamsoft公司是版本控制和事件跟踪软件应用程序领域的领先开发商。旗下扫描识别工具Dynamic Web TWAIN、版本控制软件SourceAnywhere for VSS、.NET控件Dynamic .NET TWAIN等产品深受用户的青睐。
 
Dynamsoft现已加入慧都史上最大力度的“百厂约惠”折扣专区,全线产品低至6.7折!全年仅此一次,你还在等什么!
 
活动时间:2017.12.5-2017.12.31
 
应用于Web应用程序的TWAIN扫描识别工具
支持所有主流浏览器。
 
 
更快速、更安全的远程获取
和跨平台VSS插件
兼容所有的网络技术,平台和设备
 
 
为桌面应用程序设计的.NET控件
适用于C#和VB.NET 
能让你从任何TWAIN设备中获取图像的托管代码SDK
 
 
 
一款多功能的条码读取控件
只需要几行代码就可以将条码读取功能
嵌入到Web或桌面应用程序
 
 
快速、轻松地为您的web应用程序
启用图像和视频捕捉
 
 
一个用以替代VSS的独立版本控制软件
 
                                                       
 
一款基于SQL Server的本地/网络版本控制软件
 
 

未发布 网络通讯组件包Red Carpet Subscriptions 2017 v2发布,升级整个代码库
by Harriet666 keys 分享 1501060223518
Red Carpet Subscriptions 2017 v2包括整个产品线的升级代码库,拥有迄今为止最佳的性能、质量和可用性。还包括许多安全更新,支持最新的开发工具,新组件等。我们已将所有组件升级到2016版本。

更新重点


整个产品线的升级

  • 每个产品都已升级到新的代码库,提供更强大的安全性、更好的性能和改进的API。
  • .NET版本支持Microsoft Visual Studio 2017。
  • Delphi和C ++ Builder版本支持Embarcadero RAD Studio 10.2 Tokyo。
  • 默认的签名算法已经更新到SHA-256。

IP*Works! Encrypt安全更新

  • 组件通过了Google的Wycheproof测试。
  • 新的Rijndael组件支持NIST标准。
  • OpenPGP默认签名算法更新为SHA-256。
  • 添加了对SHA-512/256和SHA-512/224的Hash支持。

Cloud Storage Integrator的更多选项

  • 支持Google Drive API v3。
  • 新的AzureBlob组件允许你使用Azure Blob存储。

改进X12和EDI积分器

  • 新的X12Translator组件可轻松将X12转换为XML,反之亦然。
  • 增强API、文档解析和JSON编程功能。

使用TCP与IP*Works! SNMP

  • 新组件(SNMPTCPMgr,SNMPTCPTrapMgr和SNMPTCPAgent)允许你使用SNMP。

IP*Works! SSH的新隧道功能

  • SSHReverseTunnel组件现在具有智能重新连接的功能。

新订阅优惠:选择版本的源代码

  • 为了帮助你在任何Linux系统上进行编译,无需依赖共享对象文件,Red Carpet Subscription包含访问macOS、iOS、C ++ for Linux、PHP和Node.js版本的混淆源代码。

细节


所有产品

  • 支持Micosoft Visual Studio 2017
  • 支持Embarcadero RAD Studio 10.2 Tokyo
  • 默认签名算法更新为SHA-256

IP*Works! Encrypt

  • 新的Rijndael组件。
  • OpenPGP默认签名算法更新为SHA-256。
  • 支持SHA-512/256和SHA-512/224。

IP*Works! SNMP

  • TCP的新组件 - SNMPTCPMgr、SNMPTCPTrapMgr、SNMPTCPAgent。
  • SysUpTime属性支持64位整数集。

X12 Integrator

  • 新的X12翻译器组件 - 轻松将X12转换为XML,反之亦然。
  • API更新为标准化输入/输出选项并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! SSH

  • SSHReverseTunnel智能重连。

EDI Integrator

  • AS2事件的日志记录。
  • AS2默认签名算法更新为SHA-256。
  • 增加OFTPClient AcceptFile事件。
  • AS4默认加密算法更新为AES128-GCM。
  • OFTP LocalFile添加到Transfer和EndTransfer事件。
  • 添加了RNIF SignatureAlgorithm属性。
  • GISB默认使用内部PGP提供程序。

EDIFACT Integrator

  • API更新为标准化输入/输出选项,并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! S/MIME

  • API更新为标准化输入/输出选项,并提供更一致的体验。

IP*Works! Auth

  • 添加OneTimePassword组件。
  • ClaimsAuth现在是SAML。
  • 用于用户和组信息的Active Directory方法。
未发布 【教程】Edraw Max(亿图图示):使用免费模板和示例快速制作发票?
by Harriet666 keys 分享 1500277959908
外贸工作者长期与国外的用户打交道,除了需要用到英文或者其他语种进行沟通交流,还有一项也是不可或缺的技能,那就是制作英文版的发票。日常生活中,可能我们接触的国内的电子发票会比较多,比如日常吃饭、购物、停车等等,可是对于国外的发票很多人就会犯难了。
 
对此,Edraw Max(亿图图示)商贸发票制作软件特意提供了多种适用于涉外贸易时常用的几种商业发票模板。本文就详细介绍一下具体是如何操作的吧!
 
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
Edraw Max(亿图图示)V8.7中文版点击下载>>>
 

通过亿图软件内置模板和例子快速创建


首先打开亿图软件,新建“表格”,然后在右侧模板中选择“发票”。如下图所示。
1、双击“发票“模板,即可快速创建一个空白绘图页面,左侧会自动打开相应的发票符号库。
2、从例子中选择所需发票实例,双击任意一个例子,即可调用该实例,然后就可以对其进行任意修改了。
 

发票的基本内容


1、公司详情,比如:公司名称、公司地址、公司电话和邮件地址,以及公司相关号码增值税注册号、发票号等等。
2、公司相关号码:增值税注册号、发票号。每张发票应该有一个独一无二的发票号。尽管被称作号码,它还是可以包含字母的,最常用的方法就是用发票前缀字母来表示客户,比如说ED001等。
3、客户详情:机构名称、客户姓名等等。
4、日期:日期中应该包含开具发票日期以及到期时间,在这个时间之前应该完成支付,一般为发票开具后的30天内。
5、服务和费用:这一项包含以下:服务描述、总金额、增值税数量和总量。
6、支付项目:是用来表示以何种方式获得这笔资金。
 

发票格式编辑


文件中所有元素都可以进行编辑,包括:表格宽度、高度和边框样式等。
合并或者分解表格:
只要你会用Excel,那么,用亿图只会让你的绘图效率翻倍,让你的工作效率加倍!
未发布 慧都璀璨14年 周年狂欢送iPhone X!
by Harriet666 keys 分享 1509515785998
2017慧都十四周年狂欢搞事情,全场产品折扣风暴来袭!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

2003年11月,慧都破茧而出;

2017年11月,慧都已崛世而立。

14岁了,搞件大事情——创造折扣奇迹!

这个狂欢月,就要躁!起!来!

七大玩法,花样玩赚周年趴!

狂欢时间:2017.11.1-2017.11.30

下单即送砸金蛋机会 100%抽微信现金红包

188元、88元、18元等你领取!

 

点击参与

 

 

全场满额豪送iPhone X!

---------------------

购买慧都任意产品

满额即送8级好礼

iPhone X、iPhone8速速领走!

 

点击查看

 
 

DevExpress庆周年

---------------------

DevExpress汉化资源免费送

DEV团队培训套包

最高立省10

 

点击查看

 
 

慧都学院培训“拼拼团”

---------------------

不要998!不要888!

只要1分钱

立抢DevExpress/Kendo UI研修班团购优惠名额!

 

立即抢购

 

 

全场热销产品7折起

---------------------

Kendo UI、Aspose、BCGSoft、Dynamsoft等产品

超低折扣等你来!

葡萄城GrapeCity更享专属折扣

 

查看更多

 
 

在线商城 聚惠再续

---------------------

MyEclipse个人授权低至6.9

在线订购商城全场优惠促销

下单还送砸金蛋机会

 

立即查看

 
 

周年送祝福 好礼齐掉落

---------------------

您送祝福,我送好礼

提交周年祝福、评价等

随机获取定制台历、保温杯或雨伞!

 

立即留言

 

关注的产品没在促销活动中?不用担心,点击咨询在线客服有意想不到的惊喜哦!

点击咨询获取惊喜优惠

咨询热线: 400-700-1020(免费)
本次活动最终解释权归重庆慧都科技有限公司所有

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