未发布 MailBee.NET Objects发送电子邮件(SMTP)教程二:SMTP认证 大多数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用户而不是使用该应用程序的人员),那么你无法使用它。
未发布 微软C# 8.0中的四个特性 可空的引用类型(Nullable Reference Types)
可空的引用类型可概括地表述为,引用类型将不再默认可空。因此,开发人员必须使用定义可空值类型的同样语法“Type?”,显式地标记一个引用类型为可空。
如果将一个空值赋值给一个非可空的引用类型,那么将会给出一个编译器警告。与之相类似,从可空类型中读取也会给出编译器警告,除非显式地提前检查了被质疑的变量是否为空值。因此从理论上讲,开发人员需要做的唯一更改就是在代码的适当位置标上问号。
该特性新加了一个语法。该语法针对开发人员明知一个可空变量x并非实际为空值却无法证明给编译器的情况。在上述情况下,开发人员现在可以定义x!.Method(),消除编译器对于潜在空值引用异常的警告。
异步流(Async Streams),即foreach async
异步流是IEumerable的异步等价类。C#团队自2015以来就一直在努力实现异步流。在经历了很多争议后,其语法被定为: foreach await (string s in asyncStream)
开发人员将使用如下的函数签名定义一个异步迭代器:
async IAsyncEnumerable MethodName()
就像使用一个正常的IEnumerable方法一样,开发人员可以使用“yield return”以懒方式(Lazy)构建对象流。
相比于源自响应式扩展(Reactive Extensions)的IObservable,使用这一方法的优点在于让消费者控制流速,这被称为“Pull模式”。与之相对,IObservable是一种“Push模式”,这意味着生产者可以使用高于消费者所能处理的流速让流涌向消费者。
缺省接口实现(Default Interface Implementations)
缺省接口实现在本质上是一种有限形式的多重继承。它允许抽象接口像抽象类一样,对方法进行完全的定义,只是抽象接口依然不能定义构造函数和字段。
需注意,开发人员可以通过使用ConditionalWeakTable在接口上模拟字段。
默认接口实现的主要好处是,开发人员可以在不破坏向后兼容的条件下,将一个新方法添加到一个已有的接口中。但是这并非是有保证的,因为默认接口只是在可以设计出适合的默认方法时才能工作。
扩展(Extension)
开发人员可以编写扩展方法,但是不能扩展属性,这是长期以来对C#一直存在的一个问题。事实上,如果使用当前的模式,甚至是不能定义一个扩展属性或事件的。此外,在很多开发人员看来,在静态类中放置扩展方法是“很诡异的”。
新的设计中新给出了一种称为“扩展”(Extension)的顶层语言构件。例如,如果开发人员想要为自定义的Customer类创建一个扩展方法和属性,可编写如下代码:
extension CustomerExt extends Customer {
//定义方法和属性的代码。
}就接口而言,是不能在扩展中定义实例字段的,但是可以使用ConditionalWeakTable实现模拟。定义静态字段也是允许的。
除了对属性、事件和操作符重载的扩展,C#团队甚至考虑允许扩展构造函数。扩展构造函数非常适用于工厂模式(Factory)和对象池场景。
扩展接口(Extension Interfaces)C#团队还考虑了扩展接口,即在已有类中添加新接口的能力。但是扩展接口将不会成为C# 8中的特性,因为它需要更改底层的运行时。
未发布 电子邮件.NET控件MailBee.NET Objects v11.0发布丨附下载 几行代码便可为应用程序添加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格式。如果你有有效的维护合同,请与我们联系以接收你的新密钥。如果你的合同已经过期,请先更新。
未发布 ASP.NET控件Web CAD SDK发布v12版本,支持DWG 2018丨附下载 Web CAD SDK为ASP.NET控件,可用于通过Internet、Intranet、Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件。该产品不要求安装 AutoCAD® 或其他第三方应用程序或组件,提供该产品时附带 C# 示例。
ASP.NET控件Web CAD SDK发布v12版本,用于在Internet,Intranet,SharePoint及其他在线 HTML5 启用技术上查看DWG和其他CAD文件。
支持DWG 2018(最新的DWG版本)是主要的改进之一。这意味着现在你的Web项目能够显示最新的图纸。
此外,Web CAD SDK功能已经变得更加广泛。现在你不仅可以在web上查看图纸,还可以在视觉上进行自定义。例如,你可以以黑白模式显示文件,合并图纸进行比较,并将绘图显示区域以BMP形式复制到剪贴板进行进一步处理。

Web CAD SDK v12的主要改进功能:
支持AutoCAD® DWG 2018
文本搜索
合并图纸与颜色变化
将显示的图像复制到剪贴板
黑白显示模式
改进打印设置
未发布 GIS软件开发工具包TatukGIS Developer Kernel 发布 v11.3.0-Unstable1丨附下载 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.3.0-Unstable1。Delphi、.NET、ActiveX和ASP.NET版本现已合并,此次更新皆适用于以上版本。
未发布 Essential Studio for UWP发布2017 v2,新增甘特图控件 【Essential Studio for UWP最新版点击下载>>>】
图表
区段颜色设置
图表中的每个段现已支持颜色贴图。

多个样条曲线类型
图表控件现在支持样条区域的多个样条类型。

图表
片段装饰
连接器中添加了一种新的装饰元素,以指示连接在另一个连接器或片段上的流动。

PDF
增强PDF安全功能
现在支持PDF 2.0安全功能(AES Revision 6)。

数据透视图表
快速图表类型
在透视图控件中实现了以下快速图表类型:快速列位图、快速条形图、快速行、快速位图、快速步进位图、快速分散位图和快速堆叠列位图。
修饰
添加数据透视图修饰以显示与图表细分元素相关的值。

注释
数据透视图注释显示有关绘图区域中特定目标点的图表或系列的元数据。

Pivot客户端
标签和值过滤器
Pivot客户端支持按标签和值进行过滤。

延迟更新
Pivot客户端可以仅在需要时更新,而不是在每次UI交互期间更新。
Pivot网格
Pivot行
Pivot网格可以定制为平面网格。

分组栏
Pivot网格提供了一个UI选项来拖动字段、过滤,并在运行时通过分组栏创建Pivot视图。

演示
注释功能
可以在PowerPoint演示文稿中创建和修改注释。

富文本框
支持打印
富文本框控件现在支持从桌面和移动应用程序中打印文档内容。

页面布局
富文本框控件支持在移动设备上逐页查看文档内容。

甘特图
甘特图控件用于可视化和编辑项目进度,并跟踪项目进度。它可以帮助你组织和安排项目。你还可以通过编辑、拖动和调整大小等操作来更新项目进度。

主要特征
树型网格
过滤
树状网格控件现在支持使用各种过滤器选项,用编程方的式过滤节点。

未发布 jQuery JavaScript的综合性UI组件库jQWidgets更新至v4.5.1丨附下载 jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。
【最新版jQWidgets v4.5.1点击下载>>>】
jQWidgets v4.5.1更新内容:
改进:
修复:
修复了当decimalSeparator为“,”时,jqxNumberInput中关于移动设备行为的问题。
修复了jqxScheduler中关于exactTimeRendering功能的问题,2天中会出现同一个预约。
修复了jqxScheduler中当没有聚焦单元格时对话框会打开的问题。
修复了关于jqxPopover中showArrowButton属性被动态设置的问题。
修复了jqxGrid中关于“复选框”列中工具提示的问题。
修复了jqxGrid中关于剪贴板粘贴功能的问题。
修复了jqxGrid中当网格行详细信息和聚合功能分组启用时切换箭头显示的问题。
修复了jqxGrid中关于分组聚合渲染逻辑的的问题。
修复了jqxGrid中关于过滤器行下拉列表和“全选”项的问题。
修复了jqxGrid中当按下“ESC”并且在源对象中定义了“updaterow”时关于全行编辑的问题。
修复了jqxDataTable中关于服务器端过滤的的问题。
修复了jqxWindow中关于动态启用/禁用窗口拖动的问题。
修复了jqxWindow中关于关闭模式窗口后Tab键导航的问题。
修复了jqxTabs中当关闭按钮被启用时有关setTitleAt方法的问题。
修复了jqxRibbon中关于animationType:“slide”的问题。
修复了jqxWindow中关于Internet Explorer“销毁”方法的问题。
阅读原文>>>
未发布 【教程】Edraw Max(亿图图示)案例:产品经理如何用亿图绘制流程图? 做调研、看数据、画原型、写文档、整理需求、跟进项目……这些琐碎的工作是基本上是每个产品人的日常。然而如何从凌乱的任务清单中抽丝剥茧,让每天的工作更加高效,自然成为了许多产品人迫切需要解决的问题!所谓,工欲善其事,必先利其器。作为一名优秀的产品人,光有想法还远远不够,将想法快速付诸于行动才是最实际有效的。
本文给大家分享一下如何用Edraw Max(亿图图示)软件提高工作效率,让想法与行动完美结合,绘制完美的流程图!
Edraw Max(亿图图示)软件是一款综合类型的图形图表设计软件,你可以在这里绘制各种类型的图形、图表,不管是创建项目、跟踪进度、流程安排、日程管理,还是数据管理、产品展示等等。目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!

对比Visio,Edraw Max(亿图图示)具有哪些优势?1、用Edraw Max绘制的流程图比Visio更美观,只需轻轻的拖曳即可做出漂亮的图形,无需额外设置。
2、Edraw Max(亿图图示)包含了丰富精美的模板和实例库,相对于Visio自带模块,Edraw Max的模块更丰富绚丽,给人的感觉会更舒心更高大上一些!
3、Edraw Max(亿图图示)自带“高光流程图”让绘制的流程图更有质感。
4、Edraw Max(亿图图示)内置的12000多个模板实例库中,很多都非常适用于产品经理!
流程图绘制的四个步骤:
1、调研
让熟悉整体业务的人讲解了解大局,并实地观察和询问,验证讲解以及发现潜在问题。
2、梳理与呈现
将整个流程进行分解,由上至下、由整体到部分、由宏观到微观、由抽象到具体的用流程图展现出来。
温馨提示:此环节一定要恰当的进行层次分解,不要将所有都铺到一张图上。流程图上所涉及的各个岗位、角色,适当的让他们进行参与、交流,会让你事半功倍。最后流程图一定要有始有终,不要让人看了半天,还在云里雾里。
3、评审与确认
这一环节不仅仅是评审流程图是否符合现实,同时也是评审目前的业务流程是否符合理想。不同岗位不同职责的人员会在根据自身实际情况对整个流程相互提出意见,这样一场头脑风暴,想必对流程优化也不失为一件好事!
4、归档维护
流程不断变更,业务流程图也需要及时作出相应的修改。
未发布 微软:Windows 10 Fall Creators Update包含最新Windows开发工具和应用商店 今年5月在西雅图举行的 Build 2017 开发者大会上,微软公布了 Windows 10 下一个重要更新——Windows 10 Fall Creators Update。Windows 10 Fall Creators Update将在今年下半年为超过 5 亿台 Windows 10 设备带来创新体验:其中包括一套用以在不同类型 Windows设备上实现创新的设计体系;全新的开发工具将让开发者轻松自如地在Windows平台工作;Windows 应用商店将要迎来 iTunes、Spotify、SAP Digital Boardroom 等人气应用;贯穿 Windows、iOS 和 Android 设备的一致的用户体验;此外,还有全球首款 Windows Mixed Reality(Windows 混合现实)动作控制器——完全无需依赖任何定位标记即可工作。
全新的设计体系,让开发者在 Windows 设备上更好地发挥创意
微软流畅设计体系(Fluent Design System)将带来直观、和谐、响应迅速、兼容广泛的跨设备体验与互动操作。对于开发者来说,流畅设计能帮助他们设计出更具表现力和吸引力的应用程序,并且广泛支持各种类型的设备和多样化的输入方式。
让开发者在轻松自如地使用 Windows
微软致力于让所有开发者都可以轻松自如地使用 Windows 和 Visual Studio——不仅仅是 Windows 应用程序开发,也包括跨越各类平台和设备的应用体验——。微软宣布了多个针对 Windows 开发者的新开发工具。
- .NET Standard 2.0 for UWP 和 XAML Standard将于下半年推出,它们将让网页开发、C++、.NET 和 UWP 开发者爱上用 Windows 编程的感觉。
- 现代编码让开发者可以更好地发挥出 Windows 和 Microsoft Graph 的优势,微软提供了面向 UWP、Android 和 iOS 的 “罗马计划”。
- 有了 Xamarin Live Player,开发者能够通过 Windows 电脑针对 iPhone 应用进行构建、测试和排错。通过这项新的工具,用户仅需要 Visual Studio 和 iPhone,即可上手在数分钟内开发 iOS 原生应用。
- 通过在 Windows 应用商店上线 Ubuntu,微软极大地简化了其安装的过程。微软还宣布将与运行于 Windows 针对 Linux 子系统的 SUSE Linux 和 Fedora Linux 展开合作, 在 Windows 应用商店发布这几款应用。现在, Windows 已成为唯一可以同时运行 Windows 应用和 Linux 应用的平台。
Windows应用商店全面支持Windows、iOS和Android UWP应用,欢迎iTunes上线
今年下半年,Windows应用商店将加入更多人气应用:
- iTunes应用即将在今年年底加入 Windows 应用商店。届时,Windows 用户将能够在任意 Windows 10 或Windows 10 S个人电脑上,享受到完整的 iTunes 应用体验,其中包括 Apple Music、iTunes 商店以及对于 iPhone 和其他苹果设备的支持服务。
- AutoDesk在去年夏季发布了Windows平台的 UWP 应用 SketchBook。如今,Windows 平台已成为这款应用增长最快的新平台,2017 年平均月销售增长达 35%。Autodesk SketchBook是绘画绘图应用领域当之无愧的王者,这个专门为 Windows平台构建的应用将充分发挥Windows 10 手写笔和触控的最大潜力。Autodesk将继续利用UWP拓展其在Windows应用商店的产品种类,并在Autodesk Stingray——一款 3D 游戏引擎及实时渲染软件——中加入更多针对 Windows Mixed Reality 的支持。
- SAP将在本月于Windows应用商店推出SAP Digital Boardroom。SAP Digital Boardroom 是SAP最受欢迎的解决方案之一,也是汇聚了一系列业务应用数据的新一代董事会门户,它能够为企业高管提供单一源头的业务情况汇总,帮助高层实时做出业务决策。这款应用将作为先进 Web 应用程序(Progressive Web App)在Windows应用商店推出,同时将与Windows 10深度集成。
为用户带来贯穿 Windows、iOS和Android的一致体验
Microsoft Graph构建起了一个智能网络,将人、会话、项目和微软云上的内容相互连接起来,并且能够构建起在Windows、iOS、Android 设备之间无缝衔接的一致体验。其提供的关键功能包括:
- 可视化的时间轴上展现了用户做过的一切,让用户并且可以快捷地跳转到任何时间点去访问文件、应用和网站,如同时间倒流一样。
- 借助小娜(Cortana),用户可以方便地在 Windows、iOS 和 Android 设备之间切换并继续之前的操作。
- 剪贴板将成为在互联设备之间进行复制粘贴的便捷手段,比如从电脑桌面上复制一个文件,然后在手机上把它粘贴过来。
- OneDrive文件随用随取,可以方便地访问储存在云端的所有文件,而无需下载和占用设备存储空间。
Windows Story Remix:用图片和视频讲故事的新方式
Windows Story Remix 是一项基于.Net 技术构建并通过 Windows 商店分发的通用Windows应用(UWP),可以利用人工智能和深度学习技术整理照片和视频并将其转变为叙事形态。它利用 Microsoft Graph 连接不同设备的用户。Story Remix 将记忆、照片、视频整合成一个故事,并加入音轨、主题和串场切换效果。通过在照片和视频中加入 3D 对象,用户还可以构建出混合现实的视角,以新的方式讲述故事,或是将照片和视频当作画布,利用 Windows 墨迹书写在上面涂鸦绘画。
全球首个Windows Mixed Reality运动控制器——无需依赖位置标签
微软还带来了全球首款完全无需依赖位置标签的 Windows Mixed Reality 运动控制器,利用 Windows Mixed Reality 头戴设备中内置的传感器,就能对视野内的动作进行定位准确、响应迅速的动作跟踪,并且完全不需要在周围墙壁上安装任何硬件设备。
微软正在将 Windows 塑造为帮助每一人开启创作之途的平台。在此诚挚邀请诸位开始这一旅程:
- 帮助你激发大众对应用的热情和参与,敬请下载Windows 10 Fall Creators Update——最新一期更新将在今天由Windows Insider计划推送,同时它将在接下来的数月得到进一步改进。
- 即刻下载罗马计划的 SDK 并开始使用 Microsoft Graph在时间轴中添加你的最新活动,助你提高应用参与度。
- 下载Windows 10平台的Visual Studio,尽情享受完整的端对端跨平台应用体验。
- 若你位于美国或加拿大境内,你可从此处预定 Windows Mixed Reality 开发工具包并着手开始构建属于您的混合现实场景。