未找到

未发布 Windows Server 2016——让世界上最大的云数据中心背后的创新为你所用
by Harriet666 keys 分享 1496914378726
Windows Server 2016是微软发布的最新服务器操作系统。它在整体的设计风格与功能上更加靠近了Windows 10。
 
Windows Server 2016中的新增功能

一、计算
虚拟化区域包括适用于 IT 专业人员的虚拟化产品和功能,以设计、部署和维护 Windows Server。
常规
由于 Win32 Time 和 Hyper-V 时间同步服务的改进,物理和虚拟计算机从更高的时间准确性中受益。 现在,Windows Server 可以托管与即将推出的要求 UTC 准确性为 1 ms 的规则相容的服务。
Hyper-V
Nano Server
Nano Server 的新增功能。 Nano Server 具有一个已更新的模块,用于构建 Nano Server 映像,包括物理主机和来宾虚拟机功能的更大分离度,以及对不同 Windows Server 版本的支持。
恢复控制台也有改进,其中包括入站和出站防火墙规则分离及 WinRM 配置修复功能。
受防护的虚拟机
Windows Server 2016 提供新的基于 Hyper-V 的受防护的虚拟机,以保护任何第 2 代虚拟机免受已损坏的构造影响。 Windows Server 2016 中引入的功能如下所示:
  • 新的“支持加密”模式提供比为普通虚拟机提供的更多、但比防护模式少的保护功能,同时仍支持 vTPM、磁盘加密、实时迁移通信加密和其他功能,包括直接构造管理便利(例如虚拟机控制台连接和 Powershell Direct)。
  • 完全支持将现有非受防护的第 2 代虚拟机转换为受防护的虚拟机,包括自动磁盘加密。
  • Hyper-V 虚拟机管理器现在可以查看授权运行的受防护的虚拟机上的构造,为构造管理员提供了一种打开受防护的虚拟机的密钥保护程序 (KP) 并查看构造是否有权在其上运行的方式。
  • 你可以转换运行的主机保护者服务上的证明模式。现在你可以即时在不太安全但更简单、基于 Active Directory 的证明和基于 TPM 的证明之间进行切换。
  • 基于 Windows PowerShell 的端到端诊断工具能够检测到受保护的 Hyper-V 主机和主机保护者服务中的错误配置或错误。
  • 恢复环境不仅提供在虚拟机可正常运行的构造中安全地排查故障并修复受防护的虚拟机的方法,还提供与受防护的虚拟机本身相同的保护级别。
  • 主机保护者服务支持现有的安全 Active Directory – 可以指示主机保护者服务使用现有的 Active Directory 林作为其 Active Directory,而不是创建自己的 Active Directory 实例
有关使用受防护的虚拟机的详细信息和说明,请参阅 Shielded VMs and Guarded Fabric Validation Guide for Windows Server 2016 (TPM)(Windows Server 2016 (TPM) 受防护的 VM 和受保护的构造验证指南)。
 
二、身份标识和访问控制
身份标识中的新功能提高了组织保护 Active Directory 环境的能力,并帮助他们迁移到仅限云的部署和混合部署,其中某些应用程序和服务托管在云中,其他的则托管在本地。
Active Directory 证书服务
Active Directory 证书服务中的新增功能。 Windows Server 2016 中的 Active Directory 证书服务 (AD CS) 增加了对 TPM 密钥证明的支持:现可使用智能卡 KSP 进行密钥证明,而未加入域的设备现在可以使用 NDES 注册,以获得可证明 TPM 中密钥的证书。
Active Directory 域服务
Active Directory 域服务包括可帮助组织保护 Active Directory 环境并为公司和个人设备提供更好的标识管理体验的改进。 有关详细信息,请参阅 What's new in Active Directory Domain Services (AD DS) in Windows Server 2016(Windows Server 2016 中 Active Directory 域服务 (AD DS) 中的新增功能)。
Active Directory 联合身份验证服务
Active Directory 联合身份验证服务中的新增功能。 Windows Server 2016 中的 Active Directory 联合身份验证服务 (AD FS) 包括使你可以配置 AD FS 以对轻型目录访问协议 (LDAP) 目录中存储的用户进行身份验证的新功能。 有关详细信息,请参阅 Windows Server 2016 中 AD FS 的新增功能
Web 应用程序代理
Web 应用程序代理的最新版本专注于为更多应用程序实现发布和预身份验证的新功能以及改进的用户体验。 查看新功能的完整列表,其中包括针对丰富的客户端应用(如 Exchange ActiveSync)的预身份验证以及用于更轻松地发布 SharePoint 应用的通配符域。 有关详细信息,请参阅 Windows Server 2016 中 Web 应用程序代理的新增功能
 
三、管理
管理和自动化部分重点介绍适用于想要运行和管理 Windows Server 2016(包括 Windows PowerShell)的 IT 专业人员的工具和参考信息。
Windows PowerShell 5.0 包含重要的新功能(包括支持使用类进行开发、可扩展其用途的新安全功能),提高其可用性,并允许你更轻松、全面地控制和管理基于 Windows 的环境。请参阅 Windows Management Framework (WMF) 5.0 RTM 发行说明概述,获取详细信息。
Windows Server 2016 的新增功能包括:在 Nano Server 上本地运行 PowerShell.exe(不再仅限于远程),新增“本地用户和组”cmdlet 来替换 GUI,添加了 PowerShell 调试支持,并添加了对 Nano Server 中安全日志记录和脚本以及 JEA 的支持。
下面是一些其他新管理功能:
Windows Management Framework (WMF) 5 中的 PowerShell 期望状态配置 (DSC)
Windows Management Framework 5 包括对 Windows PowerShell 期望状态配置 (DSC)、Windows 远程管理 (WinRM) 和 Windows 管理规范 (WMI) 的更新。
有关测试 Windows Management Framework 5 的 DSC 功能的详细信息,请参阅 PowerShell 期望状态配置 (DSC) 的验证功能中所论述的一系列博客文章。若要下载,请参阅 Windows Management Framework 5.0
用于软件发现、安装和清单的 PackageManagement 统一包管理
Windows Server 2016 和 Windows 10 引入了一种新的 PackageManagement 功能(以前称为 OneGet),该功能可以允许 IT 专业人员或开发人员使软件发现、安装、清单 (SDII) 在本地或远程自动进行,无论安装程序技术为何,也不管软件位于何处。
有关详细信息,请参阅 https://github.com/OneGet/oneget/wiki
有助于数字取证和减少安全漏洞的 PowerShell 增强功能
为了帮助负责调查受损系统的团队(有时称为“蓝队”),我们已添加其他 PowerShell 日志记录和其他数字取证功能,并且已添加有助于在脚本中减少漏洞的功能,例如受限的 PowerShell 和安全 CodeGeneration API。
 
四、网络
本部分论述了适用于 IT 专业人员的网络产品和功能,可用于设计、部署和维护 Windows Server 2016。
软件定义的网络
你现在可以将流量映射并传送到新的或现有虚拟设备。 与分布式防火墙和网络安全组联合使用,使你能够以类似于 Azure 的方式动态分段和保护工作负荷。 其次,你可以使用 System Center Virtual Machine Manager 部署并管理整个软件定义的网络 (SDN) 堆栈。 最后,可以使用 Docker 来管理 Windows Server 容器网络,并将 SDN 策略与虚拟机和容器关联。有关详细信息,请参阅计划软件定义的网络的部署
TCP 性能改进
默认初始拥塞窗口 (ICW) 已从 4 增加到 10 并已实现 TCP 快速打开 (TFO)。 TFO 减少了建立 TCP 连接所需的时间,并且增加的 ICW 允许在初始突发中传输较大的对象。 此组合可以显著减少在客户端和云之间传输 Internet 对象所需的时间。
当从数据包丢失恢复时,为了改善 TCP 行为,我们实施了 TCP 尾部丢失探测 (TLP) 和最新确认 (RACK)。 TLP 可帮助将转发超时 (RTO) 转换为快速恢复,而 RACK 可减少快速恢复所需的时间,以重新传输丢失的数据包。
 
五、安全和保障
此部分包含适用于 IT 专业人员的安全解决方案和功能,可在数据中心和云环境中进行部署。 有关 Windows Server 2016 中常规安全性的信息,请参阅安全和保障
Just Enough Administration
Windows Server 2016 中的 Just Enough Administration 是一种安全技术,可使能由 Windows PowerShell 管理的任何内容均可进行委派管理。 功能包括对在网络标识下运行、通过 PowerShell Direct 连接、安全复制文件到 JEA 终结点或从 JEA 终结点安全复制文件及配置 PowerShell 控制台在 JEA 上下文中默认启动的支持。有关详细信息,请参阅 JEA on GitHub(GitHub 上的 JEA)。
Credential Guard
凭据保护使用基于虚拟化的安全性来隔离密钥,以便只有特权系统软件可以访问它们。 请查看使用 Credential Guard 保护派生的域凭据
远程 Credential Guard
Credential Guard 包括对 RDP 会话的支持,以便用户凭据能够保留在客户端上,且不会在服务器端暴露。 它还提供远程桌面的单一登录体验。 请参阅 Protect Remote Desktop credentials with Remote Credential Guard(使用远程 Credential Guard 保护远程桌面凭据)。
Device Guard(代码完整性)
Device Guard 通过创建指定哪些代码可以在服务器上运行的策略提供内核模式代码完整性 (KMCI) 和用户模式代码完整性 (UMCI)。 请参阅 Device Guard 简介:基于虚拟化的安全性和代码完整性策略
Windows Defender
Windows Server 2016 的 Windows Defender 概述。 默认情况下,Windows Server Antimalware 已在 Windows Server 2016 中安装并处于启用状态,但是 Windows Server Antimalware 的用户界面尚未安装。 但是,Windows Server Antimalware 会在没有用户界面的情况下更新反恶意软件定义并保护计算机。 如果需要 Windows Server Antimalware 的用户界面,则可以使用“添加角色和功能向导”在操作系统安装之后安装它。
控制流防护
控制流防护 (CFG) 是一种平台安全功能,旨在防止内存损坏漏洞。 有关详细信息,请参阅 Control Flow Guard(控制流防护)。
 
六、存储
Windows Server 2016 中的存储包括软件定义存储以及传统文件服务器的新功能和增强功能。 下面是几个新功能,有关更多增强功能和详细信息,请参阅 Windows Server 2016 中的存储的新增功能
存储空间直通
存储空间直通允许通过使用具有本地存储的服务器构建高可用性和可缩放存储。 该功能简化了软件定义的存储系统的部署和管理并且允许使用 SATA SSD 和 NVMe 磁盘设备等新型磁盘设备,而之前群集存储空间无法使用共享磁盘。
有关详细信息,请参阅存储空间直通
存储副本
存储副本可在各个服务器或群集之间实现存储不可知的块级同步复制,以便在站点间进行灾难恢复及故障转移群集扩展。 同步复制支持物理站点中的镜像数据和在崩溃时保持一致的卷,以确保文件系统级别的数据损失为零。 异步复制允许超出都市范围、可能存在数据损失的站点扩展。
有关详细信息,请参阅存储副本
服务存储质量 (QoS)
现在可以使用存储服务质量 (QoS) 来集中监控端到端存储性能,并使用 Windows Server 2016 中的 Hyper-V 和 CSV 群集创建策略。
有关详参细信息,请阅服务存储质量
 
七、故障转移群集
Windows Server 2016 中包括多个服务器的新功能和增强功能,它们使用故障转移群集功能组合到单个容错群集中。 下面列出了某些新增功能,有关完整的列表,请参阅 Windows Server 2016 中故障转移群集中的新功能
群集操作系统滚动升级
群集操作系统滚动升级允许管理员将群集节点的操作系统从 Windows Server 2012 R2 升级至 Windows Server 2016,且无需中断 Hyper-V 或横向扩展文件服务器工作负荷。 使用此功能可以避免服务级别协议 (SLA) 的停机时间损失。
有关详细信息,请参阅群集操作系统滚动升级
云见证
云见证是 Windows Server 2016 中一种新型的故障转移群集仲裁见证,它将 Microsoft Azure 作为仲裁点。 与其他仲裁见证一样,云见证获取投票,并可以参与仲裁计算。 可以使用“配置群集仲裁向导”将云见证配置为仲裁见证。
有关详细信息,请参阅部署云见证
运行状况服务
运行状况服务将改进存储空间直通群集上的日常监控、操作和群集资源维护体验。
有关详细信息,请参阅运行状况服务
 
八、应用程序开发
Internet 信息服务 (IIS) 10.0
Windows Server 2016 中的 IIS 10.0 Web 服务器提供的新增功能包括:
  • 在网络堆栈中支持 HTTP/2 协议,并与 IIS 10.0 集成,允许 IIS 10.0 网站针对支持的配置为 HTTP/2 请求自动提供服务。 与 HTTP/1.1 相比,这会有大量的增强功能,例如,更有效地重用连接和减少延迟、提高网页的加载速度。
  • 在 Nano Server 中运行和管理 IIS 10.0 的功能。 请参阅 Nano Server 上的 IIS
  • 支持通配符主机头,使管理员能够为域设置 Web 服务器,然后让 Web 服务器为任何子域的请求提供服务。
  • 一个用于管理 IIS 的新 PowerShell 模块 (IISAdministration)。
有关更多详细信息,请参阅 IIS
分布式事务处理协调器 (MSDTC)
Microsoft Windows 10 和 Windows Server 2016 中添加了三个新功能:

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

1
未发布 UI工具包Xamarin.Forms更新至v2.3.5-pre3,与.NET Standard项目兼容
by Harriet666 keys 分享 1497863074339
Xamarin.Forms是一个跨平台、原生支持UI的工具包,允许开发者轻松创建用户界面。这些用户界面可以通过安卓、iOS和Windows Phone共享,使用目标平台的原生控件进行渲染,让每个平台上Xamarin.Forms应用的界面外观搭配得当。
 
【Xamarin.Forms试用版点击下载】

v2.3.5-pre3更新内容

  • Xamarin.Forms现在与.NET Standard项目兼容!并非所有创建功能都能正常工作。
  • 改进:Device.RuntimePlatform现在在WinRT和UWP上返回。
  • 改进:使用新的AutomationProperties可能会影响Android上的UI测试。AutomationId、Name以及HelpText将设置本地ContentDescription属性,Name和HelpText优先于AutomationId(Name和HelpText将被连接起来)。这意味着任何正在寻找AutomationId的测试将会失败,如果Name或HelpText也设置在该元素上。要解决此问题,请更改你的UI测试并在此方案中查找Name/HelpText的值。
  • 改进:调用WinRT/UWP中Picker上的Focus将打开下拉。
  • 弃用:Android IVisualElementRenderer.ViewGroup现在已经过时了,请改用View。

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 【示例教程】使用Leadtools对身份证进行识别和表单模板创建
by Harriet666 keys 分享 1511426850168
使用Leadtools的表单识别功能可以对固定格式的表单很方便的进行批量识别,生活中常见的身份证、驾驶证、发票等都可以识别出准确的结果。另外通过表单匹配的功能同时也能实现对表单进行自动分类。本篇教程以身份证识别为例,介绍整个识别和创建的流程。
 
Leadtools 19总套包下载>>>
 

1、模板创建

1.1制作空白表单
通过photoshop对拍摄到的身份证进行处理,仅保留公共部分的内容和字段,对于身份证照片和个人具体信息都进行清除,结果如下图
 
1.2使用leadtools表单编辑器编辑模板
打开leadtools开发包安装目录:C:\LEADTOOLS 19\Shortcuts\Forms Recognition & Processing\.NET Class Libraries\Forms (Structured & Unstructured)\Forms Recognition & Processing\Master Forms Editor
运行其中的可执行程序,点击NEXT.,选择载入主表单数据集,载入默认路径,选择professional引擎,进入主界面
 
添加中文语言支持
 
添加身份证主表单
 
向身份证表单添加图像,选择刚才已经制作好的空白图片
 
添加完成后,可以在主界面的右侧对模板进行编辑
下图是可以在模板中添加的识别类型,本例中,我们主要使用文本和图片两个类型
 
点击相应的识别类型,在模板上拖动为需要识别的区域,如下图,然后保存即可。
 
添加后可以看到左下角的信息栏里面有添加的字段的详细信息,可以对字段的名称,位置等,进行进一步的修改,最后点击保存按钮,这样我们就完成了表单的创建。
 
创建表单过程:

 
 

2、识别表单

直接在该演示程序的菜单中点击如下按钮即可打开识别程序
单独打开识别程序的目录为:C:\LEADTOOLS 19\Shortcuts\Forms Recognition & Processing\.NET Class Libraries\Forms (Structured & Unstructured)\Forms Recognition & Processing
 
打开后的节目如下,同样先附加中文语言包
 
点击菜单按钮,选择一个身份证图片进行识别
 
识别完成后会弹出识别结果界面,可以看到身份证上所有的信息都已经被准确的识别出来了,
 
以下为识别过程
未发布 电子邮件.NET控件MailBee.NET Objects v11.0发布丨附下载
by Harriet666 keys 分享 1490073599762

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

MailBee.NET Objects 更新至v11.0,增加新的Ews组件、新的密钥格式并与Visual Studio 2017进行测试。

MailBee.NET Objects v11.0点击下载>>>

更新内容:

  • 新的Ews组件,通过其本地EWS协议访问MS Exchange服务器。
  • .NET Framework 3.5和4.0版本以及2.0和4.5版本现在包含在安装程序和NuGet包中。
  • 所有.NET版本的MailBee.NET.dll现在具有相同的名称。
  • 所有MailBee.NET DLL都添加了sha256签名(除了sha1)。
  • IDN域(具有国际域的电子邮件地址)支持发送和解析。
  • 使用MailMessage.GetHtmlWithBase64EncodedRelatedFiles方法来保存HTML主体,相关图像直接嵌入到HTML中,这样就不需要在本地保存它们并在以后删除它们。
  • STARTTLS安全连接现在支持直接发送模式。要激活,请使用mailer.DirectSendDefaults.EnableStartTls = true,其中mailer是Smtp实例。
  • SecurityProtocol现在包括TlsAuto值,你可以使用该值来限制MailBee使用最佳支持的TLS协议(最高为TLS 1.2)。例如, imapClient.SslProtocol = SecurityProtocol.TlsAuto其中imapClient是Imap实例。
  • Imap.GetSpecialFolder方法,轻松找到文件夹例如已发送信息或草稿。
  • Imap,Smtp,Pop3类的GetStream方法现在允许你访问底层网络流。
  • 支持Outlook 2016.MSG格式。
  • 支持.PST文件中的通讯组列表。
  • 添加MailMessage.Sender属性。
  • 新的Logger.DateTimeFormatTimeOnly和Logger.DateTimeFormatFull属性在日志文件中配置了日期时间格式。
  • Bounce数据库已更新。
  • 与Visual Studio 2017进行测试。
  • 许可证密钥采用新的MN110格式。如果你有有效的维护合同,请与我们联系以接收你的新密钥。如果你的合同已经过期,请先更新。
未发布 【示例教程】如何用leadtools创建一个OCR驱动的计算器
by Harriet666 keys 分享 1519808939687

Leadtools 19总套包下载>>>

日常工作和业务中会有一些图片中的计算公式等需要计算,这个代码片断显示了LEADTOOLS OCR可以用来检测、识别和执行简单的数学命题,如“2 + 2”。
static void SimpleOCRCalculator(string filePath)
      {
         RasterCodecs codecs = new RasterCodecs();

         RasterImage image = codecs.Load(filePath);

         string[] calculations;
         using (IOcrEngine engine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
         {
            engine.Startup(null, null, null, null);
            IOcrPage page = engine.CreatePage(image, OcrImageSharingMode.None);

            page.AutoZone(null);
            page.Recognize(null);

            calculations = new string[page.Zones.Count];

            for (int i = 0; i < page.Zones.Count; i++)
            {
               calculations[i] = page.GetText(i);
            }

            engine.Shutdown();
         }

         Dictionary<string, Action<double, double>> operands = new Dictionary<string, Action<double, double>>();
         operands.Add("+", new Action<double, double>(delegate(double a, double b) { double ans = a + b; Console.WriteLine("{0} + {1} = {2}", a, b, ans); }));
         operands.Add("-", new Action<double, double>(delegate(double a, double b) { double ans = a - b; Console.WriteLine("{0} - {1} = {2}", a, b, ans); }));
         operands.Add("x", new Action<double, double>(delegate(double a, double b) { double ans = a * b; Console.WriteLine("{0} * {1} = {2}", a, b, ans); }));
         operands.Add("/", new Action<double, double>(delegate(double a, double b) { double ans = a / b; Console.WriteLine("{0} / {1} = {2}", a, b, ans); }));

         for (int i = 0; i < calculations.Length; i++)
         {
            string equation = Regex.Replace(calculations[i], @"\n|\r| ", "");
            string[] ops = new string[] { "+", "-", "x", "/" };

            for (int j = 0; j < ops.Length; j++)
            {
               int index = equation.IndexOf(ops[j]);

               if (index > 0 && index < equation.Length)
               {
                  string op1 = equation.Substring(0, index);
                  string op2 = equation.Substring(index + 1);

                  double arg1 = double.Parse(op1);
                  double arg2 = double.Parse(op2);

                  operands[ops[j]](arg1, arg2);

                  break;
               }
            }
         }

         codecs.Dispose();
         image.Dispose();
      }

 

用于测试的图像如下。

resource

未发布 Dynamic Web TWAIN新版预告:v13.0版本中的全新设计
by Harriet666 keys 分享 1494386157218
在过去的14年中,Dynamsoft一直在努力创新和开发Dynamic Web TWAIN SDK,并在每年都有一次重大升级。今年,v13.0版本正在路上。现在让我们来看看这次新版本将带来的好处。

v13.0版本中的新设计


在v13.0版本中,SDK的结构有了新的设计。在设计新版本时,Dynamsoft主要考虑到以下目标:
  • 应该有一个核心服务作为所有模块的中心。

  • 该服务应该设计成:

              a、它很长一段时间内只需升级一次
              b、采用自动升级的方式
  • 独立模块应能够通过核心服务相互通信

  • 独立模块应能够通过核心服务共享数据

  • 使用哪些模块应由应用程序中使用的JavaScript文件决定

  • 所有模块都应自动升级,用户无需额外的操作

  • 每个模块都能够处理自身的JavaScript请求

下图显示了在v13.0版本中Dynamic Web TWAIN的新设计:

为什么会出现这个新设计?

在过去我们收到过很多投诉,例如:
  1. 只允许拥有一个版本,换句话说,你不能同时安装两个版本。
  2. 随着每次新版本的发布,客户会发现从旧版本升级到新版本的过程很困难。尽管Dynamsoft员工一直努力让这一过程尽可能的简单,但许多客户仍然觉得升级困难。关键的原因是在使用该产品时每个桌面上都需要重新安装该服务。
  3. SDK已经非常丰富了,包括不同的模块如条形码读取器、OCR模块,网络摄像头模块等。然而,SDK的旧结构使得这些模块只能以TWAIN模块为中心,导致结果是:
         a、难以独立使用模块。
         b、由于依赖TWAIN模块,因此无法单独升级一个或两个模块。

新设计的出现可以解决三个问题:
  1. 新版本可以与旧版本一起安装、实现共存。
  2. 从这个版本开始,Dynamsoft Service将成为中心。它只处理最基本和最核心的功能,并保持稳定。因此,安装之后就可以很少或无需再升级。
  3. 所有模块的安装和未来的升级将变得“安静”。换句话说,它们不再需要执行任何安装程序。相反,一旦文件在服务器上更新(新模块以及新的JavaScript文件),Service将以静默的方式下载并安装新模块。
  4. 所有模块都可以独立使用和升级了。
Dynamic Web TWAIN v13.0预计将于2017年6月发布,敬请期待!
未发布 MailBee.NET Objects接收电子邮件(POP3)教程二:接收和显示HTML电子邮件
by Harriet666 keys 分享 1497950218025
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了接收和显示HTML电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

从POP3服务器下载整个邮件后,如上一个教程所示,开发人员可以管理可用的邮件主体。例如,当邮件没有HTML格式的主体时,开发人员可以配
置邮件解析器以从纯文本正文中创建HTML格式的主体:
C#:
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
VB.NET:
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
 
此外,开发人员可以指定影响邮件解析方式的选项。例如,下面的代码指定了当纯文本正文被自动转换为HTML格式的主体时,包含在邮件纯文本
主体中的所有URI都应该被更改为相应的链接:
C#:
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink;
VB.NET:
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink
 
由于邮件解析器已配置,开发人员应调用Apply方法应用更改:
C#:
msg.Parser.Apply();
VB.NET:
msg.Parser.Apply()
 
解析的邮件的HTML主体内容可以使用Web浏览器控件轻松显示,如下所示:
C#:
webBrowser1.DocumentText = msg.BodyHtmlText;
VB.NET:
webBrowser1.DocumentText = msg.BodyHtmlText
 
请注意,WebBrowser控件仅在Visual Studio 2005和更高版本中可用。因此,上述代码将不会在早期版本的Visual Studio.NET中运行。
 
示例代码:
以下示例从指定邮箱中下载最后一条消息,从纯文本正文中生成HTML邮件主体,并显示此消息的HTML主体。
在使用MailBee.NET Objects之前,请确保它已解锁。
请将对MailBee.NET.dll的引用添加到应用程序中,然后在代码顶部添加以下行以允许在应用程序中使用MailBee.NET Objects:
C#:
using System;
using MailBee;
using MailBee.Pop3Mail;
VB.NET:
Imports System
Imports MailBee
Imports MailBee.Pop3Mail
 
然后在Visual Studio 2005中创建一个新表单,并将Button和WebBrowser控件放在此表单上。设置以下代码在按钮点击事件上运行:
C#:
Pop3 pop = new Pop3();
                        
try
{
        pop.Connect("mail.domain.com");
        pop.Login("login", "password");
        Console.WriteLine("Successfully logged in.");
}
catch(MailBeePop3LoginNegativeResponseException e)
{
        Console.WriteLine("POP3 server replied with a negative response at login.");
}
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml;
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink;
msg.Parser.Apply();
                        
WebBrowser1.Text = msg.BodyHtmlText;
try
{
        pop.Disconnect();
        Console.WriteLine("Disconnected successfully.");
}
catch
{
        Console.WriteLine("Disconnection failed.");
}
VB.NET:
Dim pop As Pop3 =  New Pop3() 
 
Try
        pop.Connect("mail.domain.com")
        pop.Login("login", "password")
        Console.WriteLine("Successfully logged in.")
Catch e As MailBeePop3LoginNegativeResponseException
        Console.WriteLine("POP3 server replied with a negative response at login.")
End Try
 
Dim msg As MailMessage =  pop.DownloadEntireMessage(pop.InboxMessageCount) 
 
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink
 
msg.Parser.Apply()
 
WebBrowser1.Text = msg.BodyHtmlText
 
Try
        pop.Disconnect()
        Console.WriteLine("Disconnected successfully.")
Catch
        Console.WriteLine("Disconnection failed.")
End Try
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

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

未发布 客户端图像浏览器Prizm ActiveX Viewer v10.3发布丨附下载
by Harriet666 keys 分享 1498464283484
Prizm ActiveX Viewer是基于浏览器的客户端图像浏览器,它可为您提供文档图像高速显示和导航,注释的创建和共享等。Prizm ActiveX Viewer提供了一系列基于浏览器的强大的图像功能,包括:图像显示,注释、操作、导航、图片格式打印、查看单页或者多页的TIFF G3/G4, PDF, JPEG, BMP, PCX, DCX, CALS, JEDMICS格式等多种图像文件、以及为Internet Explorer和Netscape浏览器提供高速且高质量的图像显示能力。目前Prizm ActiveX Viewer在线订购正享8折优,欢迎您下载试用版进行运用!
 
v10.3更新内容:
  • 增加了对Firefox®41 - 仅32位的支持(旧版本兼容)
  • 修复了一个可以防止在Windows 10上控件初始化的问题。
  • 修复了含有XFA的PDF文档被自动拒绝的问题。
  • 修复了文档中的断开的Web链接。
  • 在文档中说明Internet Explorer v11不再支持VBScript。
  • 在文档中阐述PDF支持。

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

未发布 MailBee.NET Objects撰写邮件教程(二):发送一个网页
by Harriet666 keys 分享 1502180555698
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了电子邮件如何发送网页的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
使用MailBee,你可以通过电子邮件发送网页:
C#
msg.LoadBodyText("http://www.google.com", MessageBodyType.Html, Encoding.Default, ImportBodyOptions.ImportRelatedFiles |ImportBodyOptions.ImportRelatedFilesFromUris | ImportBodyOptions.PathIsUri);

VB.NET
msg.LoadBodyText("http://www.google.com", MessageBodyType.Html, Encoding.Default, ImportBodyOptions.ImportRelatedFiles |ImportBodyOptions.ImportRelatedFilesFromUris | ImportBodyOptions.PathIsUri)
 
上面的方法将网页(文本和图形)加载到邮件正文中。你可以在LoadBodyText方法文档中找到更多信息。使用ImportRelatedFilesFromUris标志,邮件正文中通过URL(URI)引用的文件将从其网站下载并附加到该邮件中。使用此标志,还将附加具有本地URI(例如“/files/picture.gif”而不是“”)的文件。如果未设置此标志,则仅导入由本地文件路径表示的文件(例如“C:\ picture.gif”或“files \ picture.gif”),而URL将保留原样。
 
换句话说,ImportRelatedFilesFromUris标志允许任何计算机上的电子邮件可见,无论是否连网,因为所有必需的文件都已经附加到电子邮件中了。但是,如果邮件的某些内容必须始终从Web服务器获取(例如,邮件包含当前天气预报动态生成的消息),则不应使用此方法。将静态图像附加到邮件中会使预报变得过时。
未发布 AutoVue使用教程:如何在64位Linux上安装AutoVue
by Harriet666 keys 分享 1490258040212
很多用户在Linux 64位上使用AutoVue时会出现安装方面的问题。在Linux 64位上安装AutoVue(这是一个32位应用程序)可能很棘手,因为AutoVue将要求某些库是32位的而不是64位。在许多情况下,服务器会将由于缺少32位库的相关问题记录下来。AutoVue需要这些库:32位(libGLU,libGL,libz,libbz2,libXt,libXp,libXtst和libXrender)。
【AutoVue系列产品包含:AutoVue 3D Professional AdvancedAutoVue Electro-Mechanical ProfessionalAutoVue EDAAutoVue OfficeAutoVue 2D Professional
 
你可以通过使用locate命令来检查特定库丢失的是32位还是64位。例如,找到libGL应该返回:
/usr/lib/libGL.so 
/usr/lib/libGL.so.1 
/usr/lib/libGL.so.1.2 
/usr/lib/libGLU.so 
/usr/lib/libGLU.so.1 
/ usr / lib /libGLU.so.1.3.060501 
 
libGL的位置如下:
/usr/lib64/libGL.so.1
这将表明你已安装64位库,AutoVue还需要32位库。 
 
【本文作者慧都Elyn,转载注明出处】

 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

  全端社区 - 最新回复
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  4. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  5. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  6. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  7. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  8. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  9. Node.js 打印vite react+go项目目录树
  10. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库

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

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

OnceOA