转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
在ASP.NET中使用SMTP服务         ★★★★

在ASP.NET中使用SMTP服务

作者:闵涛 文章来源:闵涛的学习笔记 点击数:657 更新时间:2009/4/23 10:43:53
SMTP Service(Simple Mail Transport Protocol简单邮件传输协议)是Microsoft Windows 2000的组件,它能执行发送和获取电子邮件的基本工作,但不支持多个邮箱。此服务使用两个主要目录处理电子邮件,它们是Pickup和Drop,这两个目录位于InetPub\MailRoot目录下。服务不断地检查Pickup目录,当找到电子邮件消息时,就尝试发送这个电子邮件。若服务无法立即投递这个消息,就将它保存于Queue目录中,同时服务继续尝试投递消息。如果电子邮件消息无法投递,而且返回给发送者,消息就转移到Badmail目录。
      在.NET中可以通过SmtpMail类进行发送电子邮件消息.在进行程序调试前应确保SMTP服务正常运行,并且系统装有Microsoft .NET Framework以便编译ASPX文件,如果发现不能正常编译,记住要检查相应的服务是否已启动。下面以例子来描述SMTP的般用法。本人使用的编程环境是:一机作邮件服务器,运行Exchange Server2003,另一机运行Windows 2000 Server作开发端.例子中进行了三种常用的邮件内容:文本,附件,HTML文本.同时也进行了提取信息的方法演示,具体代码如下:

<%@ page validateRequest=false %>
<%@ Import Namespace="System.Web.Mail"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
sub Page_Load
if not IsPostBack then
dim conn as Sqlconnection
dim cmd as SqlCommand
dim dtrMailto as SqlDataReader
conn = new SqlConnection("server=localhost;UID=sa;PWD=sa;DataBase=MailTest")
conn.open()
cmd = new SqlCommand("select email from MailTable",conn)
dtrMailto = cmd.ExecuteReader()
mailtoList.DataSource = dtrMailto
mailtoList.DataTextField ="email"
mailtoList.DataBind()
dtrMailto.close()
conn.close()
end if
end sub

sub Button_click(s as Object,e as EventArgs)
SmtpMail.Send(mailfrom.text,mailto.text,txtSubject.text,txtBody.text)
end sub

sub Button_Attachment_click(s as Object,e as EventArgs)
dim objMailMessage as MailMessage
dim objMailAttachment as MailAttachment
objMailAttachment = new MailAttachment(filename.PostedFile.FileName)
objMailMessage = new MailMessage
objMailMessage.From = mailfrom.text
objMailMessage.To = mailto.text
objMailMessage.Subject=txtSubject.text
objMailMessage.Body=txtBody.text
objMailMessage.Attachments.add(objMailAttachment)
SmtpMail.send(objMailMessage)
end sub

sub Button_html_click(s as Object,e as EventArgs)
dim objMailMessage as MailMessage
dim strContent as String
strContent = txtHtmlBody.text
objMailMessage = new MailMessage
objMailMessage.From = mailfrom.text
objMailMessage.To = mailto.text
objMailMessage.Subject=txtSubject.text
objMailMessage.Body=strContent
objMailMessage.BodyFormat = MailFormat.HTML
SmtpMail.send(objMailMessage)
end sub

sub Button_DB_click(s as Object,e as EventArgs)
dim objMailMessage as MailMessage
objMailMessage = new MailMessage
objMailMessage.From = mailfrom.text
objMailMessage.To = mailtoList.SelectedItem.text
objMailMessage.Subject=txtSubject.text
objMailMessage.Body=txtBody.text
SmtpMail.send(objMailMessage)
end sub

</script>
<html>
<body>
<h3><font color=green>发送邮件</font></h3>
<form runat="server">
<b>发件人:</b>
<asp:TextBox id="mailfrom" Columns="30" runat="server"/>
<br>
<b>收件人</b>
<asp:TextBox id="mailto" columns="30" runat="server"/>
<br><b>标&nbsp;&nbsp;&nbsp;&nbsp;题:</b>
<asp:TextBox id="txtSubject" columns="30" runat="server"/>
<br><b>内&nbsp;&nbsp;&nbsp;&nbsp;容:</b>
<asp:TextBox id="txtBody" TextMode="MultiLine" columns="30" runat="server"/>
<br>
<asp:Button text="发送" OnClick="Button_click" runat="server"/>
<br>
<b>收件人列表:</b><asp:DropDownList id="mailtoList" runat="server"/>
<br>
<asp:Button text="从数据库得收件人的发送" OnClick="Button_DB_click" runat="server"/>
<br><br>
<b>附&nbsp;&nbsp;&nbsp;&nbsp;件:</b><input id="filename" type="File" runat="server"/>
<br>
<asp:Button text="带附件的发送" Onclick="Button_Attachment_click" runat="server"/>
<br><br>
<b>HTML内容:</b><asp:TextBox id="txtHtmlBody" TextMode="MultiLine" columns="30" runat="server"/>
<br>
<asp:Button text="发送HTML" OnClick="Button_html_click" runat="server"/>
</form>
</body>
</html>
运行结果:


    此处没有指定SmtpMail.SmtpServer属性,所以使用的SMTP服务器就是本地的默认SMTP服务器,如果要使用其它的SMTP服务器可通过此属性进行设置.


[C语言系列]NET 中C#的switch语句的语法  [网络技术]POP3、SMTP分别指什么?
[系统软件]托拽Explore中的文件到VB.net的窗口  [系统软件]Boost库在XP+Visual C++.net中的安装
[常用软件]新配色面板:Paint.Net3.0RC1官方下载  [常用软件]在Maxthon中使用Google网站加速器
[常用软件]用内建的“Net Meeting”聊天  [常用软件]在POWERBUILDER中使用WINSOCK控件的方法
[VB.NET程序]Henry的VB.NET之旅(三)—共享成员  [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台