未发布 MailBee.NET Objects发送电子邮件(SMTP)教程八:使用多个SMTP服务器发送邮件 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了如何使用使用多个SMTP服务器发送邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
当开发人员不确定他将用于发送电子邮件的SMTP服务器是否可靠(例如,有时服务器崩溃)时,使用多个SMTP服务器则非常有用。例如,当使用单个SMTP服务器发送消息时,如果此SMTP服务器崩溃,则MailBee无法发送消息。但是,在使用多个SMTP服务器时,如果一个SMTP服务器崩溃,MailBee会根据这些服务器的优先级别尝试使用其他SMTP服务器。
因此,使用多个SMTP服务器增加了邮件发送成功的可靠性。MailBee.NET Objects允许开发人员管理SMTPSERVER对象的集合,存储在SMTP.SmtpServers的SMTP对象的属性。开发人员应调用SMTP.SmtpServers.Add方法向集合添加一个新的SmtpServer对象实例。这个方法有五个重载。第一个重载允许添加直接SmtpServer对象,如下所示:
| C#: SmtpServer smtp_srv = new SmtpServer(); smtp_srv.Name = "mail.domain.com"; smtp_srv.AccountName = "john_doe"; smtp_srv.Password = "secret"; oMailer.SmtpServers.Add(smtp_srv); |
VB.NET: Dim smtp_srv As SmtpServer = New SmtpServer() smtp_srv.Name = "mail.domain.com" smtp_srv.AccountName = "john_doe" smtp_srv.Password = "secret" oMailer.SmtpServers.Add(smtp_srv) |
SMTP.SmtpServers.Add方法的下一次重载允许通过指定的服务器名称或相应的IP地址添加新的SMTP服务器,如下所示:
| C#: oMailer.SmtpServers.Add("127.0.0.1"); oMailer.SmtpServers.Add("smtp.company.com"); |
VB.NET: oMailer.SmtpServers.Add("127.0.0.1") oMailer.SmtpServers.Add("smtp.company.com") |
此外,开发人员可以指定SMTP服务器的端口号和优先级。默认优先级为0(即最高),默认端口号为25。以下代码将两个具有不同优先级的SMTP服务器添加到集合中:
| C#: oMailer.SmtpServers.Add("127.0.0.1", 33, 1); oMailer.SmtpServers.Add("smtp.company.com", 37, 2); |
VB.NET: oMailer.SmtpServers.Add("127.0.0.1", 33, 1) oMailer.SmtpServers.Add("smtp.company.com", 37, 2) |
此外,SMTP.SmtpServers.Add方法的以下重载允许通过指定的服务器名称(或相应的IP地址)、登录名和密码将SMTP服务器添加到集合中,如下所示:
| C#: oMailer.SmtpServers.Add("127.0.0.1", "dan_brown", "password"); oMailer.SmtpServers.Add("smtp.company.com ", "john_doe", "secret"); |
VB.NET: oMailer.SmtpServers.Add("127.0.0.1", "dan_brown", "password") oMailer.SmtpServers.Add("smtp.company.com ", "john_doe", "secret") |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 Edraw Max(亿图图示):新手如何快速美化思维导图? 如今思维导图无处不在,大到产品设计、活动策划,小到整理读书笔记等等。用思维导图都可以很方便的帮助我们发散思维、整理思绪,而一个精致美观的思维导图也能够更加的吸引眼球和注意力。那么,对于新手来说,应该如何用Edraw Max(亿图图示)绘制出精美的思维导图呢?
首先用Edraw Max(亿图图示)创建思维导图时,可以通过模板和例子快速创建,亿图内置大量的思维导图实例,以及更多的免费在线模板都非常的时尚、美观。
其次,在绘制思维导图的过程中,我们也可以通过修改思维导图的样式和主题风格来进行美化。
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
【样式】
一键修改整个思维导图布局样式:
- 选中主题形状。
- 在思维导图菜单中选择布局风格。
- 点击思维导图菜单栏下的“间距”,即可快速增加、减少水平、垂直间距,甚至可以一键重新设置。

一键修改整个连接线样式:
- 全选(Ctrl + A)所有图形。
- 点击“思维导图”菜单栏下的“连接线样式”。
- 选择所需的样式即可。

修改局部连接线样式:
- 选中需要改变连接线样式的上一级主标题。
- 点击“连接线样式”。
- 选择所需样式。选中的主标题和下一级副标题之间的连接线将会被修改。

改变某个形状的位置:
- 在目标形状附近移动光标。
- 选择需要调整位置的形状,长按鼠标左键并开始拖拽该形状。
- 当拖动某一形状使其靠近另一形状时,就会自动吸附到另一形状,放开鼠标即可完成吸附。

【主题】
Edraw Max(亿图图示)默认思维导图的符号中,“主题”形状是蓝色的,“主标题”的形状是绿色的,“连接线”则自动生成的是直线。但是亿图提供了多种主题风格可供任意选择,而且可以一键修改整个思维导图的主题风格。具体操作步骤如下:
- 点击“思维导图”菜单栏;
- 选择“思维导图主题”,然后根据思维导图主题缩略图选择所需的主题风格即可。

未发布 MailBee.NET Objects撰写邮件教程(二):发送一个网页 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服务器获取(例如,邮件包含当前天气预报动态生成的消息),则不应使用此方法。将静态图像附加到邮件中会使预报变得过时。
未发布 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用户而不是使用该应用程序的人员),那么你无法使用它。
未发布 【教程】Edraw Max(亿图图示):使用免费模板和示例快速制作发票? 外贸工作者长期与国外的用户打交道,除了需要用到英文或者其他语种进行沟通交流,还有一项也是不可或缺的技能,那就是制作英文版的发票。日常生活中,可能我们接触的国内的电子发票会比较多,比如日常吃饭、购物、停车等等,可是对于国外的发票很多人就会犯难了。
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
通过亿图软件内置模板和例子快速创建
首先打开亿图软件,新建“表格”,然后在右侧模板中选择“发票”。如下图所示。
1、双击“发票“模板,即可快速创建一个空白绘图页面,左侧会自动打开相应的发票符号库。
2、从例子中选择所需发票实例,双击任意一个例子,即可调用该实例,然后就可以对其进行任意修改了。
发票的基本内容
1、公司详情,比如:公司名称、公司地址、公司电话和邮件地址,以及公司相关号码增值税注册号、发票号等等。
2、公司相关号码:增值税注册号、发票号。每张发票应该有一个独一无二的发票号。尽管被称作号码,它还是可以包含字母的,最常用的方法就是用发票前缀字母来表示客户,比如说ED001等。
3、客户详情:机构名称、客户姓名等等。
4、日期:日期中应该包含开具发票日期以及到期时间,在这个时间之前应该完成支付,一般为发票开具后的30天内。
5、服务和费用:这一项包含以下:服务描述、总金额、增值税数量和总量。
6、支付项目:是用来表示以何种方式获得这笔资金。
发票格式编辑
文件中所有元素都可以进行编辑,包括:表格宽度、高度和边框样式等。
合并或者分解表格:
只要你会用Excel,那么,用亿图只会让你的绘图效率翻倍,让你的工作效率加倍!
未发布 .Net文档图像处理工具包GdPicture.NET发布v14.0.27,提升GdViewer控件的速度 GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。
在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。
GdPicture.NETv14.0.27更新内容:
- 修复了OCR无法识别大图像文件的问题。
- 提升了GdViewer控件(WPF版本)注释绘图和渲染的速度。
- 1D条码引擎:提高准确性。
- 1D条码引擎:提高速度。
- 1D条码编写:修复了一些字符不能正确编码的问题。
- PDF417条码编写:修复崩溃的问题。
- DocuVieware:新的JavaScript函数GetCurrentSearchOccurrenceIdx()。
- 其他小的修复。
未发布 如何选择你的移动APP KPIs(关键绩效指标) 移动APP市场正以惊人的速度发展。越来越多的人在户外时会选择移动端来访问网络。为了取得更大的竞争力和获得更多用户的注意力,移动端APP开发者还有许多应该做的。近年来应用商店非常受欢迎,它可以为每个使用手机的人提供适合他们的应用。面对这种情况,移动端APP开发者如何衡量自己的应用是否成功呢?在移动应用发展过程中,下载量已经不是衡量成功的唯一标准了。
你需要更精准的关键绩效指标(KPIs)来评判你的APP在市场中的表现是好是坏。需要特别注意的是每个APP是不同的,因此你应该根据自身APP所属的类别来选择KPIS。同样的,所选的指标也必须符合你的商业目标。下面就教大家如何选择你的移动APP KPIs。
查看完整方法>>>>> 未发布 MailBee.NET Objects发送电子邮件(SMTP)教程一:使用SMTP服务器发送消息
Smtp对象提供了多种方法和属性来调整优化发送消息的过程。可以创建一个新的Smtp对象实例,如下所示:
C#:
Smtp mailer = new Smtp();
VB.NET:
Dim mailer As New Smtp()
如果SMTP服务器不需要任何身份验证,那么指定的主机名或它的IP地址就足以连接到此SMTP服务器。
C#:
mailer.SmtpServers.Add("mail.domain.com");
VB.NET:
mailer.SmtpServers.Add("mail.domain.com")
然而,大多数服务器现在要求用户对自己进行身份验证(例如,如果要通过此服务器将电子邮件发送给外部收件人,则必须拥有有效的帐户)。要指定你的帐户凭据,请使用以下代码:
C#:
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
VB.NET:
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
根据服务器设置,你可能需要输入整个电子邮件地址,而不仅仅是一个帐户名称(例如,在某些情况下为jdoe@domain.com或domain.com \ jdoe)。
某些SMTP服务器要求客户端进行身份验证,但不支持任何SMTP命令。这些服务器依赖于同一个客户端的最近POP3连接的认证结果(即相同的IP地址)。因为POP3和SMTP服务器通常共享相同的用户帐户数据库。
在发送消息之前,你应该确定内容。例如:
C#:
mailer.Message.From.AsString = "jdoe@domain.com";
mailer.Message.To.AsString = "bill@domain.com";
mailer.Message.Subject = "Hi";
mailer.Message.BodyPlainText = "Hello Bill";
mailer.Message.From.AsString = "John Doe ";
mailer.Message.To.AsString = "Bill (Company Inc), Kathy ";
mailer.Message.Subject = "The document";
mailer.Message.BodyHtmlText = "The document body";
mailer.Message.From.Email = "jdoe@domain.com";
mailer.Message.From.DisplayName = "John Doe";
mailer.Message.To.AsString = "Kathy ";
mailer.Message.Cc.Add("bill@domain.com", "Bill Smith");
mailer.Message.Subject = "News";
mailer.Message.BodyPlainText = "News body";
VB.NET:
mailer.Message.From.AsString = "jdoe@domain.com"
mailer.Message.To.AsString = "bill@domain.com"
mailer.Message.Subject = "Hi"
mailer.Message.BodyPlainText = "Hello Bill"
mailer.Message.From.AsString = "John Doe "
mailer.Message.To.AsString = "Bill (Company Inc), Kathy "
mailer.Message.Subject = "The document"
mailer.Message.BodyHtmlText = "The document body"
mailer.Message.From.Email = "jdoe@domain.com"
mailer.Message.From.DisplayName = "John Doe"
mailer.Message.To.AsString = "Kathy "
mailer.Message.Cc.Add("bill@domain.com", "Bill Smith")
mailer.Message.Subject = "News"
mailer.Message.BodyPlainText = "News body"
内容完成后,你就可以点击发送了。
C#:
mailer.Send();
VB.NET:
mailer.Send()