Asp.Net Forums之邮件发送

简介:
原文: http://blog.joycode.com/dotey/archive/2005/01/15/43113.aspx

Asp.Net Forums之邮件发送

Forums中很多地方要用到邮件发送,如:邮件注册、找回密码、邮件订阅等。

添加新贴的代码流程非常慢。每次添加帖子,应用程序首先要确保没有重复贴,然后格式化帖子内容和表情图像,记号并索引,如果必要还要将帖子添加到相应的队列中,对附件进行有效性检查,最终完成发贴后,给预订者发出 e-mail 通知。显然,这里做的工作太多。索引帖子是一个很耗时的操作,此外,内建的 System.Web.Mail 功能要与 SMTP 服务器连接并顺序发送邮件。当特定帖子或主题预定者数量增加时,发送帖子的执行时间会越来越长。

  并不是每个请求都需要索引邮件,所以Forums采用的是批量集中处理,并且一次只索引25个帖子或每隔五分钟发送一次邮件。定时器这部分在我的上一个blog有说明《asp.net forums中定时器的应用

在Asp.Net中邮件发送非常容易,一般都需要Smtp服务器,但是一些免费信箱的Smtp服务器(如smtp.163.com)都需要账号密码验证。在MailMessage对象的Filds集合中加入以下内容即可:

Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1" );
//basic authentication
Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", txtUserName.Text );
// 设置smtp服务器登录账号(如您163.com的信箱账号)
Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", txtPassword.Text );
// 设置smtp服务器登录密码 (如您的163.com的信箱账号密码)

但是使用免费的Smtp服务器一定要注意一个问题,就是发送邮件的账号(即Message.From)必须和上面的Smtp服务器登录账号一致,否则将会导致找不到cdo对象的异常。

示例代码:
邮件发送示例代码


本文转自浪子博客园博客,原文链接:http://www.cnblogs.com/walkingboy/archive/2005/04/14/137747.html,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
存储 开发框架 前端开发
基于Lumisoft.NET组件,使用IMAP协议收取邮件
基于Lumisoft.NET组件,使用IMAP协议收取邮件
|
存储 .NET 开发框架
Asp.Net Core 快速邮件队列设计与实现
发送邮件几乎是软件系统中必不可少的功能,在Asp.Net Core 中我们可以使用MailKit发送邮件,MailKit发送邮件比较简单,网上有许多可以参考的文章,但是应该注意附件名长度,和附件名不能出现中文的问题,如果你遇到了这样的问题可以参考我之前写的这篇博客Asp.Net Core MailKit 完美附件(中文名、长文件名)。
1872 0
|
存储 网络安全 关系型数据库
.net Core1.0 邮件发送
  今天一天早,公司需要将之前的.net Core项目增加一个预处理机制,就是当程序出现异常后给我们的开发人员发送邮件,因为今天写些关于.netCore上发送邮件。   根据查阅资料发现在目前的Core1.
957 0
|
.NET 开发框架 数据格式
|
Web App开发 .NET 数据安全/隐私保护
asp.net 邮件发送提醒功能(接收方包括QQ邮箱等)
 1、编写一个通用的邮件发送操作类:MailHelper.cs,代码如下: using System; using System.
1122 0
|
前端开发 HTML5 移动开发
使用System.Net.Mail类实现邮件发送
有些 SMTP 服务器要求在代表客户端发送电子邮件前验证客户端的身份。当此 SmtpClient 对象应该使用当前登录用户的默认凭据进行身份验证(如果服务器要求)时,请将此属性设置为 true。
1321 0

热门文章

最新文章