未找到

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

一、哪里可以下载MailBee.NET Objects并更新我当前的版本?

你可以使用NuGet软件包管理控制台将最新版本的MailBee.NET程序集添加到项目中:
Install-Package MailBee.NET
最新版本的MailBee.NET Objects安装程序(包括程序集本身以及文档、示例和工具)下载地址:http://www.afterlogic.com/download/MailBeeNetObjects.msi
 
最新版本的MailBee.NET程序集可从下面的网址获取:http://www.afterlogic.com/updates/mailbee_net.zip
 
存档包括.NET 2.0/3.5版本(MailBee.NET.dll),.NET 4.0版本(MailBee.NET.4.dll),.NET 4.5+版本(MailBee.NET.45.dll),Mono,Xamarin iOS和Android版本。.NET 2.0/3.5版本仍然可以在.NET 4.0及更高版本中使用,它不包括.NET 4.0特定的优化。但是,只有.NET 4.5版本支持async/await方法。
 
当你下载MailBee.NET软件包安装程序MailBeeNetObjects.msi时,首先要关闭可能使用MailBee.NET的所有应用程序。如果Visual Studio .NET正在运行,请关闭它。然后,你需要卸载现有的MailBee.NET Objects。要删除现有版本的产品,请使用控制面板中的“ 添加/删除程序”。然后,可以轻松安装新版本的MailBee.NET:只需运行安装程序并按照屏幕上的说明进行操作即可。
 
现在你已安装了新版本的MailBee.NET Objects,但是由MailBee.NET Objects提供支持的应用程序仍然使用的旧版本。因此,你应该更新项目中的引用并重新创建由MailBee.NET Objects提供支持的应用程序。
 
对于Visual Studio .NET项目,应删除对MailBee.NET的引用(在解决方案资源管理器中打开项目的引用并删除对MailBee.NET的引用),然后添加新的并重建项目。
 
对于非Visual Studio .NET环境,你应该手动替换应用程序的/ bin子文件夹中的MailBee.NET.dll文件并重新构建项目。安装MailBee.NET软件包后,你可以在安装文件夹中找到MailBee.NET.dll文件(默认情况下,它是32位Windows上的“C:\Program Files\MailBee.NET Objects”或64位上的"C:\Program Files\MailBee.NET Objects (x86)")。
 
我们会发布BounceDatabase的更新。你可以下载最新版本:http://www.afterlogic.com/updates/BounceDatabase.zip并将其提取到C:/Program Files/MailBee.NET Objects/BounceDatabase目录中,以覆盖现有文件。


二、如何在我的.NET项目中添加MailBee.NET Objects?

在Visual Studio .NET中,请按照以下步骤(假设你的Visual Studio .NET项目名为EmailApp):
1.在解决方案资源管理器中,右键单击项目名称(EmailApp),然后在上下文菜单中选择添加参考命令。
2.在出现添加引用对话框中,找到MailBee.NET Objects。如果你有新版本的MailBee.NET.dll(比安装程序更新),你可以单击浏览按钮并手动找到MailBee.NET.dll文件。然后双击引用将其添加到列表中,单击确定。
3.在添加的引用属性中,确保Copy Local设置为True。
 
要在非Visual Studio .NET应用程序中引用MailBee.NET Objects,你应该手动将MailBee.NET.dll文件上传到应用程序根文件夹下的/ bin文件夹中。如果没有/bin文件夹,你应该先创建它。
 
以这种方式引用MailBee.NET Objects库的应用程序可以利用XCOPY部署。一旦从应用程序引用了MailBee.NET Objects,下一步是将库中的名称空间导入到应用程序中,如MailBee.NET Objects文档或MailBee.NET Objects附带的演示项目中的示例。然后你就可以开始开发由MailBee.NET Objects提供支持的应用程序了。
 

三、购买后支持多久的免费升级?

保证在购买后至少一年的免费升级。随后的几年,维护费用(包括免费升级和标准技术支持)可以每年以50%的价格购买。
 

四、哪里查看产品许可协议?

AfterLogic的所有商业产品的许可查看。http://www.afterlogic.com/products/common-licensing
未发布 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用户而不是使用该应用程序的人员),那么你无法使用它。
未发布 【纯干货】图像处理开发工具LEADTOOLS最全在线示例汇总
by Harriet666 keys 分享 1501748137291
LEADTOOLS是优秀的图形、图像处理开发包。适用于图形、图像、多媒体、条形码、OCR、Internet、DICOM、医疗等方面,点击下载!LEADTOOLS (Lead Technology)以其在全世界主要国家中占有的市场领导地位,在数码图象开发工具领域中已成为既定的全球领导者。LEADTOOLS开发与发布的LEAD是屡获殊荣的开发工具包。
 
本文为大家整理了最全的LEADTOOLS在线示例,欢迎大家收藏!
 
LEADTOOLS在线示例Demo>>>

LEADTOOLS Multimedia在线演示:媒体流服务器

 

LEADTOOLS Medical Web Viewer在线示例:HTML查看器

 
LEADTOOLS Medical Web Viewer在线示例:医疗Web查看器框架 
LEADTOOLS Medical Web Viewer在线示例:牙科Web浏览器 
LEADTOOLS Medical Web Viewer在线示例:医用Web浏览器 
LEADTOOLS Silverlight在线演示:着色器效果 
LEADTOOLS Silverlight在线演示:图像处理技术 
LEADTOOLS Silverlight在线演示:Viewer控件 
LEADTOOLS Silverlight在线演示:ImageList控件 
LEADTOOLS Silverlight在线演示:Silverlight核心技术 
LEADTOOLS Silverlight在线演示:DICOM数据集技术 
LEADTOOLS Silverlight在线演示:注释(图像标记) 
LEADTOOLS Silverlight在线演示:条形码技术 
LEADTOOLS for WPF在线示例:着色器效果 
LEADTOOLS for WPF在线示例:转换效果 
LEADTOOLS for WPF在线示例:ImageList控件 
LEADTOOLS for WPF在线示例:常用功能 
LEADTOOLS WinForms在线示例:GIF动画 
LEADTOOLS WinForms在线示例:成像功能 
LEADTOOLS WinForms在线示例:Fusion功能 
LEADTOOLS WinForms在线示例:医疗3D技术 
LEADTOOLS WinForms在线示例:医疗查看器 
LEADTOOLS WinForms在线示例:DICOM编辑 
LEADTOOLS WinForms在线示例:DICOM数据集技术 
LEADTOOLS WinForms在线示例:注释和图像标记技术 
LEADTOOLS WinForms在线示例:条形码技术 
LEADTOOLS WinForms在线示例:OCR模块 
LEADTOOLS WinForms在线示例:OCR屏幕捕获 
LEADTOOLS WinForms在线示例:OCR优势 
LEADTOOLS WinForms在线示例:SVG 
LEADTOOLS WinForms在线示例:文件转换器 
LEADTOOLS WinForms在线示例:文档查看器 
LEADTOOLS Web Forms在线示例:图像处理 
LEADTOOLS Web Forms在线示例:图像处理 
LEADTOOLS Web Forms在线示例:文件清理 
LEADTOOLS HTML5/JavaScript在线示例:Document Composer 
LEADTOOLS HTML5/JavaScript在线示例:图像处理技术 
LEADTOOLS HTML5/JavaScript在线示例:缩略图查看器 
LEADTOOLS HTML5/JavaScript在线示例:光栅图像查看器 
LEADTOOLS HTML5/JavaScript在线示例:牙科Web查看器框架 
LEADTOOLS HTML5/JavaScript在线示例:医学Web查看器框架 
LEADTOOLS HTML5/JavaScript在线示例:注释和图像标记技术 
LEADTOOLS HTML5/JavaScript在线示例:条形码 
LEADTOOLS HTML5/JavaScript在线示例:表单识别 
LEADTOOLS HTML5/JavaScript在线示例:MRTD 
LEADTOOLS HTML5/JavaScript在线示例:银行检查阅读器 
LEADTOOLS HTML5/JavaScript在线示例:SVG 
LEADTOOLS HTML5/JavaScript:文档比较在线演示 
LEADTOOLS HTML5/JavaScript:文档查看器在线演示

未发布 轻松审计代码安全性,Windows 10有妙招
by Harriet666 keys 分享 1503998911618
如果你是软件开发人员,又希望自己开发的软件安全性高一点,那么当前的Windows 10企业内部预览版(10.0.16253)中就有一个功能可以做到。
 
它的位置在“设置 – > Windows Defender – > Windows Defender安全中心 – >应用程序和浏览器控制 – >漏洞保护设置”中,你可以为整个系统或特定程序启用自定义漏洞利用设置。其中有很多不同的保护特性并且许多都可以在审计模式下打开。在审计模式下,它不是在出现情况时终止进程,而是将事件写入事件日志。对于管理员,这就意味着其会允许软件继续运行,同时能够使我们意识到这一情况是何时发生的。对于希望通过了解这些情况以此来改进产品的人来说,它其实是提供了一个启用安全功能的附加好处,即无需重新编译(在某些情况下),就能告诉你确切的程序代码在当它在运行时遇到问题的位置。在版本10.0.16253中,可以进行审计的保护特性包括:
 
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码)
阻止低完整性图像
阻止远程图像
阻止不受信任的字体
代码完整性守护者
禁用Win32k系统调用
不允许子进程
导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
模拟执行
验证API调用(CallerCheck)
验证图像依赖完整性
验证堆栈完整性
 
要充分利用此功能,我们需要安装Windows Performance Toolkit。它是Windows SDK安装程序的安装选项之一。当您启用了您感兴趣的设置后,打开管理命令提示符并浏览到Windows Performance Toolkit目录(通常为Program Files(x86) Windows Kits  {Version}  Windows Performance Toolkit)。您可以通过运行以下两个命令(在替换文件名所需的任何路径之后)启动并开始收集上述漏洞保护设置的跟踪以及解析堆栈跟踪所需的数据:
xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl”
 
xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
在您运行任何想要收集的方案之后,您可以停止跟踪并将数据与以下内容合并(再次替换文件名所需的任何路径):
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”
 
然后,您可以删除创建的前两个文件,因为此时您将拥有第三个所需的所有数据。您可以在Windows Performance Analyzer(WPA)中打开生成的etl文件,并查看数据。
 
您可以使用wpaPreset文件扩展名保存它,在WPA中加载数据,转到我的预设(在WPA的较新版本中的文件 – >窗口 – >我的存在),选择导入,浏览到保存预设的任何地方,选择它,并双击它以显示视图。另外,您还需要加载符号,以充分利用这一点。您可以在WPA中在File-> Configure Symbols下设置符号; 您需要将其指向msdl.microsoft.com/download/symbols上的Microsoft符号服务器以及您的符号服务器(或您没有符号服务器设置的符号文件的位置)。您可以在加载跟踪时自动配置WPA加载符号,但也可以通过转到文件 – >加载符号来手动加载符号。一旦完成,您将能够轻松地查看堆栈跟踪。它就会像下面这样:
 
以下是在创建上述过程中我为x64控制台应用程序编译的示例代码:
#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
  memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{  DWORD result = addr(NULL);
  cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
} 
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
 
}void DecisionLoop()
{ while (true)
{  int selection;
  PrintOptions();
  cin >> selection;  switch (selection)
  {   case 0:    return;   case 1:
    ExecuteIllegalMemory();    break;   case 2:
    CreateCodeInVirtualMemory(TRUE);    break;   case 3:
    CreateCodeInVirtualMemoryAndExecute(TRUE);    break;   default:
    cout << "Invalid input" << endl;
  }
}
}int main()
{
DecisionLoop(); return 0;
}
 
在这里我没有去对它的应用做更多的介绍,但我相信我的抛砖引玉一定能够让更多的人对这一功能产生兴趣。
对于在事件查看器中的应用程序和服务日志中找到的大多数内容,您也可以以相同的方式完成此类操作——单击特定日志的属性,它将具有Provider-Name-Parts / LogName形式的名称。您只需要在xperf命令中使用“Provider-Name-Parts”部分即可。
未发布 10个学习JavaScript的免费在线资源丨附地址
by Harriet666 keys 分享 1488940926149

点击阅读原文>>>

我们都听说过“ JavaScript ” 这个术语,但我们中只有少数人知道它的用法和应用。这里的“我们中的少数”是指技术青年、网络程序员和IT专业人员。但是,对于外行来说,“JavaScript”只不过是一个与计算机编程相关的复杂术语。

那么,什么是JavaScript?如果你希望在计算机领域工作,那么你不能错过JavaScript。它是最着名的网页脚本语言。它也广泛用于游戏开发以及桌面和移动应用程序的创建。此外,网站上很多基本功能如下拉菜单、视觉效果、验证数据等都是使用JavaScript创建的。当然,这只是一个概述。

学习JavaScript最好的方法之一是通过视频教程进行在线学习。这里列出十个免费在线学习JavaScript的地址,让你的学习更方便、更有效。

未发布 微软的dotnet-new工具可以使创建JavaScript Web 程序变得更简单
by Harriet666 keys 分享 1488337232319

Microsoft发布了一组工具,使用他们的dotnet-new工具和使用Node.js的灵活方法可以快速生成基于JavaScript的Web 应用程序。

dotnet-new工具是.NET Core工具的一部分,用于使用简单的命令启动一个新项目。作为ASP.NET Core JavaScript Services的一部分,Web开发人员现在可以使用相同的命令来启动新的单页应用程序(SPA)。

点击查看完整内容>>>

未发布 Microsoft为其Visual Studio和.Net Core添加了新的工具
by Harriet666 keys 分享 1489634333886
微软正在改进其Visual Studio IDE和.Net Core开源运行的工具。用于Visual Studio和.Net Core Tools的Power Productivity Tools添加了功能,包含突出错误显示和Docker功能。
Visual Studio 2017下载地址>>
未发布 【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0
by Harriet666 keys 分享 1510908930689
Audio Sound Recorder for .NET是一款本地.NET组件,它可以轻松把录音功能添加到用Visual Studio.NET和Borland Developer Studio编写的Winforms应用程序中。

Audio Sound Recorder for .NET v9.0.0.0最新版下载

Audio Sound Recorder for .NET v9.0.0.0更新内容:
新功能
  • 支持播放声音,同时通过鼠标手动滚动波形滚动条。
  • 支持通过外部编码器FdkAac.exe以AAC+格式记录和导出。
  • 支持播放录制声音。
  • 支持对录制声音进行高速播放,可以将声音保持原始速度。
  • 支持以HLS格式(HTTP Live Streaming)进行流媒体回放。
  • 增加了将Wasapi采集或回送设备的立体声录音会话分为两个单声道输出文件的可能性
  • 增加了切换立体声分离录制会话的单声道输出文件的功能
  • 波形分析仪的新选项
      - 波形现在可以基于绝对值显示检测到的峰值
      - 更多地控制时间标尺上显示的时间字符串的格式
      - 可选的自动垂直缩放功能,用于低音量级别的波形
  • 回放期间显示在波形视觉反馈上的峰值现在通过专用事件报告给容器应用程序。
  • 增加了在录制和回放过程中检索峰值电平和RMS(均方根)电平的支持。
  • 增加了从波形分析仪中检索包含波形峰值的缓冲区的可能性
 
新属性
  • EncodeFormats.AACPlus (class)
 
新方法
  • CallbackWaveformValueChangeSet
  • StartSplitFromWasapiCaptureDevice
  • StartSplitFromWasapiLoopbackDevice
  • SwitchOutputFilesOnSplit
  • StreamPeakLevelsGet
  • RecordedSound.PlaybackRateGet
  • RecordedSound.PlaybackRateSet
  • RecordedSound.PlaybackTempoGet
  • RecordedSound.PlaybackTempoSet
  • RecordedSound.PlaybackRateRatioGet
  • RecordedSound.SoundDirectionEnable
  • RecordedSound.SoundDirectionGet
  • RecordedSound.SoundDirectionIsEnabled
  • RecordedSound.SoundDirectionSet
  • WASAPI.MixerInputDevicePeakLevelsGet
  • WaveformAnalyzer.AutoZoomEnable
  • WaveformAnalyzer.SettingsRulersTimeFormatSet
  • WaveformAnalyzer.PeaksBufferLengthGet
  • WaveformAnalyzer.PeaksBufferGet
  • WaveformScroller.PlaybackOnScrollEnable
  • WaveformScroller.PlaybackOnScrollInfoGet
 
新事件
  • WaveformValueChange
 
新的回调委托
  • CallbackWaveformValueChange
 
新的类
  • EncodeAACplus

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

未发布 .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万元......更多惊喜等您来探索!

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程七:添加多个附件
by Harriet666 keys 分享 1495099317250
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了如何使用MailBee.NET Objects在邮件中添加多个附件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
MailBee.NET Objects允许开发人员管理此邮件消息的所有附件对象的集合。你可以通过SMTP对象的SMTP.Message.Attachments属性访问此集合。要向邮件中添加多个附件,开发人员应该调用SMTP.Message.Attachments.Add方法。该方法的不同重载允许开发者不仅可以指定附加文件的路径,还可以指定其他参数,如Content-ID(CID)、目标文件名、Content-Type等:
C#:

oMailer.Message.Attachments.Add(@"C:\Temp\report.doc");
oMailer.Message.Attachments.Add(@"C:\Temp\prices_2005.xls", "prs2005.xls");
oMailer.Message.Attachments.Add(@"C:\Temp\my_photo.jpg", "pic1.jpg","<12s4a8a8778c$5664i1b1$ir671781@tlffmdqjobxj>");

oMailer.Message.Attachments.Add(@"C:\Temp\john_doe_photo.jpg", "pic2.jpg","<12s4a8a8932r$5664i1t1$iy671661@yljfmkqjghxu>", "image/gif", null, NewAttachmentOptions.Inline,  MailTransferEncoding.Base64);

VB.NET:
oMailer.Message.Attachments.Add("C:\Temp\report.doc")
oMailer.Message.Attachments.Add("C:\Temp\prices_2005.xls", "prs2005.xls")
oMailer.Message.Attachments.Add("C:\Temp\my_photo.jpg", "pic1.jpg","<12s4a8a8778c$5664i1b1$ir671781@tlffmdqjobxj>")
 
oMailer.Message.Attachments.Add("C:\Temp\john_doe_photo.jpg", "pic2.jpg", "<12s4a8a8932r$5664i1t1$iy671661@yljfmkqjghxu>", "image/gif", Nothing, NewAttachmentOptions.Inline, MailTransferEncoding.Base64)
 
上面的示例向邮件添加了四个附件。第一个文档作为report.doc附加。第二个文件作为附带指定的CID的prs2005.xls。第三个附件是一张图片,也有自己的CID。最后一个附件被强制作为Base64编码中的内联对象。
 
如果附件被认为是一个内联对象,它将与邮件正文一起显示。但是,如果开发人员需要从邮件正文的任何​​地方引用此附件,则应将相应的CID分配给此附件。
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

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


 近期热门 - 点击最多
  1. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  2. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  3. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  4. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码
  5. node.js使用TensorFlow入门教程一:简介及工作原理环境安装及初始化
  6. node.js用saml2连接Identity Provider服务器完成Azure AD/Active Directory域帐号身份认证
  7. node.js中用typescript连接mongodb数据并设置断开后自动重启连接
  8. git 将本地仓库关连并push远程
  9. 在Windows10上创建node.js开机启动脚本服务Task Scheduler failed to start: Error Value: 2147943711.
  10. Windows和MacOS获取当前Active Directory域的用户名和AD服务器域名

  全端社区 - 最新回复
  1. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  2. 如何用JavaScript获取某个元素copy selector的CSS选择器
  3. 青否数字人5.0上线,支持真人接管实时驱动!
  4. 遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!
  5. 比fs.watch更加优秀的Chokidar文件变化检测库
  6. HTML页面嵌入部分使用Vue3,在jQuery应用中用类似Vue2使用Vue3
  7. 克隆自己的数字人形象需要几步?
  8. Node.JS中Fetch/Axios连接Strapi服务器端localhost,Next.JS后端SSR请求返回connect ECONNREFUSED,但客户端CSR正常
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

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

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

OnceOA