ASP发送邮件的class

发送邮件

一. 程序思路

  所有的程序,主要实现两个功能,一、发送邮件;二、上传附件。使用无组件上传程序来上传附件到服务器,在发送完后,将删除服务器上的邮件。实现这两个功能,需要一个数据库来存放邮件内容及附件信息(文件名)。邮件的发送有两种情况:一是,无附件的邮件;二是,有附件的邮件。

  1.发送无附件的邮件。用户根据实际情况来填写收信人、发信人、抄送、密送、SMTP服务器地址、邮件主题、邮件内容等信息,这些信息中,收信人、发信人、邮件主题、邮件内容是必须填写的,否则将收不到邮件。如果SMTP服务器支持SMTP验证,那么你就把你在该邮局的用户名和密码填上。如,你填的发信人地址是xxxx@163.com,因为163的SMTP服务,支持SMTP验证,所以你就要需要你在163的用户名xxxx,密码****,这样才能顺利发送邮件;如,你发信人地址是xxxx@hotmail.com,因为hotmail是不需要SMTP验证的,所以你不用填写用户名和密码。只要记住一点,你的发信的SMTP服务器支持SMTP验证的话,你就要填写相应的用户名和密码。你在填写完表单后,点“发送”按钮就直接发送邮件了。这个过程是在mail.asp和inc_clsEmail.asp完成的。

  2.发送带附件的邮件。这个过程,主要分三步,一、填写表单信息(同上),不过在点“发送”按钮前,需要转到第二步,发送附件。二、此步聚主要是上传附件到服务器。需要服务器支持FSO、Dictionary、Stream等组件。在进入上传附件界面前,先在数据库中创建一条记录,把刚成填的表单信息存在表里,然后选择本地需要本地的rar或zip文件,选好后点“上传”按钮就行了,传完后程序将更新数据库中存入附件文件名和字段的内容并自动跳转到发信页面,发信页面从数据库中读取邮件信息并显示出来,此时点“发送”,就将发送附件了。本过程主要由mail.asp、inc_clsEmail.asp、inc_clsUpload.asp、Upload.asp和Uploadok.asp来完成。

  在这个发信程序中用到的文件清单:
    attachment.mdb  '邮件信息临时存放库
    install.asp    '在数据库中创建邮件信息临时表
    Mail.asp     '发送邮件
    Upload.asp    '文件上传
    Uploadok.asp   '文件上传成功
    inc_clsEmail.asp '邮件发送类
    inc_clsUpload.asp '无组件上传类
    inc_set.asp    '一些表格颜色的设置

二.建立数据库
  1.打开你的Access建立一个文件名为:attachment.mdb.添加以下字段:
    (1). ID     类型为自动编号(存放邮件信息的ID编号)
    (2). smtpcheck 类型为是/否字段(存放是否需要SMTP验证)
    (3). from    类型为文本字段(存放发信人的Email地址)
    (4). fromname  类型为文本字段(存放发信人的名字)
    (5). to     类型为文本字段(存放收信人的Email地址)
    (6). bcc    类型为文本字段(存放密送人的Email地址)
    (7). cc     类型为文本字段(存放抄送人的Email地址)
    (8). server   类型为文本字段(存放SMTP服务器地址)
    (9). subject  类型为文本字段(存放邮件主题)
    (10). body   类型为备注字段(存放邮件的内容)
    (11). username 类型为文本字段(存放邮箱登录用户名)
    (12). password 类型为文本字段(存放邮箱登录的密码)
    (13). filenames 类型为文本字段(存放附件的文件名)
  注意:可以把字段设置为允许为空。

  当然你可以自己添加你认为需要的字段,如果你把字段名或表名换成其它名称,则对程序也要作出相应的更改,不然会出错。如果你不想手工建表及添加字段,那你可以在浏览器中运行Install.asp文件,它可以自动建表,你就可以偷懒了:)

  2. 在开始编写之前你可以罗列一下要用到的SQL语句.

'搜索出数据库中ID号为1的邮件信息
SQL = "SELECT * FROM attachment ORDER BY WHERE id=1"
'这个语句是添加新的临时邮件信息时用到的.
SQL="INSERT INTO attachment(smtpcheck,from,fromname,to,bcc,cc,server,subject,body,username,
password,filenames) VALUES(true,'cjj8110@hotmail.com',cjj','cjj8110@hotmail.com','','','','测试','测试邮件件发送程序','cjj8110','********','1,zip,1.rar')"
'删除表中全部数据。
SQL = "DELETE FROM attachment"
'删除表中指定ID的记录
SQL = "DELETE FROM attachment WHERE id =" & id
'更新表中,指定ID的filenames字段的内容
SQL = "UPDATE attachemnt SET filenames='" & filenames & "' WHERE ID=" & id

三.编写代码
  Install.asp:考虑到手工建表有点麻烦,所以写了这个文件。文件主要用到CREATE TABLE和DROP TABLE语句,不过由于数据库的原因,有些数据库有可能不支持此语句。本文以Access为例,因为ACCESS支持这两条语句,如果还是新手还看不懂那也没关系,以为有机会再研究好了:)。由于不清楚数据库定义了那些关键字,所以在创建表和字段时,都用[]把表名和字段名括起来,即使表名或字段名和数据库的关键字冲突,也不会引起程序出错。不过运行本程序前,必须先在Access中创建一个数据库名称为attachment.mdb,可以不为其创建表,用此程序来创建。

install.asp的源码:
<% '此文件在执行后最好删除,因为如果不注意再次执行的话,将会使数据库的所有数据丢失,切记! Dim SYS_strTableName,SYS_strSQL,SYS_objRS '需要创建的表的名字 SYS_strTableName = "attachment" Set objConn = Server.CreateObject("ADODB.Connection") 'OLEDB方式打开数据库的Connection对象连接字符串 strcon="provider=microsoft.jet.oledb.4.0;data source=" & Server.mappath("attachment.mdb") objConn.open strcon'和数据库已经建立连接可对其操作了. 'DROP TABLE是一条从数据库中删除表的SQL语句。有些数据库有可能不支持。 SYS_strSQL = "DROP TABLE [" & SYS_strTableName & "]" '删除表时,如果有错误出现则跳转执行下语句 '因为如果DROP TABLE一个数据库中并不存在的表时,就会导致程序出错, '所以加了这个语句On Error Resume Nex<p>此新闻共有<font color=red><b>14</font></b>页 上一页 <a href=195044.html>1</a> <a href=195044-2.html>2</a> <a href=195044-3.html>3</a> <a href=195044-4.html>4</a> <a href=195044-5.html>5</a> <a href=195044-6.html>6</a> <a href=195044-7.html>7</a> <a href=195044-8.html>8</a> <a href=195044-9.html>9</a> <a href=195044-10.html>10</a> <a href=195044-11.html>11</a> <a href=195044-12.html>12</a> <a href=195044-13.html>13</a> <a href=195044-14.html>14</a> 下一页</TD></TR></TBODY></TABLE></DIV><TABLE class=pageSpaceNewsSeparator cellSpacing=0 cellPadding=1 width="100%" border=0><TBODY><TR><TD width="71%" height=24><a href=/sendmail.asp?filename=195044 target=_blank class=a01>推荐好友</a> <SPAN class=pageIcon>| <a href=/member/add_favorite.asp?filename=195044 target=_blank class=a01>频道收藏</a> | <A class=a01 onclick=javascript:doPrint() href="">打印文档</A> | <a href=/senderror.asp?f

时间: 2024-08-09 09:09:30

ASP发送邮件的class的相关文章

用ASP发送邮件

可以通过Jmail组件发送邮件. 首先要在WEB服务器安装JMAIL组件. 下面是一个对象实例,可以通过call SendMail (receive)的方法来调用发送邮件 可以通过Jmail组件发送邮件. 首先要在WEB服务器安装JMAIL组件. 下面是一个对象实例,可以通过call SendMail (receive)的方法来调用发送邮件 <% Sub SendMail(receive) On Error Resume Next Set jmail = Server.CreateObject(

用asp发送邮件程序

<!--#include file="config.asp" --> <!--#include file="../inc/Email.asp" --> <!--#include file="../inc/chkinput.asp" --> <% Dim NewCloud_Ads Dim Rs Dim SQL Dim NowStats Dim HtmlTitle Dim Style_CSS Dim Html

如何使用 Cdosys.dll 库使用ASP发送邮件带附件

 <%@ Language=VBScript CODEPAGE=65001%> <% Response.Buffer=True %> <% 'Collaboration Data Objects, version 1.2.1(CDO) 'http://www.microsoft.com/downloads/details.aspx?FamilyId=2714320D-C997-4DE1-986F-24F081725D36&displaylang=en '-------

asp发送邮件代码

function SendMail(MailServerAddress,AddRecipient,Subject,Body,Sender,MailFrom)  on error resume next  Dim JMail  Set JMail=Server.CreateObject("JMail.SMTPMail")  if err then   SendMail= "<br><li>没有安装JMail组件</li>"   er

asp+JMAIL实现发送邮件_应用技巧

本文利用asp和JMAIL实现了发送邮件,大家是不是很好奇这到底是怎么实现的呐,和小编一起一探究竟吧! Global.asa文件 什么是Global.asa 文件?它其实是一个可选文件,程序编写者可以在该文 件中指定事件脚本,并声明具有会话和应用程序作用域的对象.该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象.该 文件的名称必须是 Global.asa 且必须存放在应用程序的根目录中.每个应用程序只能有一个 Global.asa 文件.内容如下: <script

使用ASP常见问题解答(转载)

解答|问题 正文: (作者:林子 2000年06月07日 14:12) 问题:如何保护自己的ASP源代码不泄露? 答:下载微软的Windows Script Encoder,对ASP的脚本和客户端JavaScript.VBScript脚本进行加密.客户端脚本加密后,只有IE5以上的版本才能执行,服务器端脚本加密后,只有服务器上安装有Script Engine 5(装IE5即可)才能解释执行. 问题:为什么Global.asa文件总是不起作用? 答:只有把Global.asa文件放在Web发布目录

ASP.NET发送邮件示例源代码

在ASP.NET程序中发送邮件不再象ASP中那样需要组件的支持了,在.NET的框架基类的System.Web.Mail名称空间内包含的MailMessage和SmtpMail类可以实现这个功能. 以下是源代码:Mail.MailMessage message = new Mail.MailMessage(); message.From = "test@51aspx.com"; message.To = "test@51aspx.com"; message.Subje

ASP.Net 2.0 发送邮件的代码

asp.net|发送邮件 这两天因为要做一个可以收集用户提交信息,然后发送邮件到指定邮箱的网页.在 asp.net 2.0 里面发送邮件可以使用 System.Net.Mail 下面的类.http://www.systemnetmail.com/faq/2.1.aspx 这个地址有 System.Net.Mail 的作者写的仿佛是 MSDN 类似的 Faq,看代码的时候可以参考以下.什么都不说了,下面贴出来代码吧,毕竟代码是最重要的:        1protected void btnSend

在ASP中使用CDO发送邮件

在ASP中使用CDO发送邮件   在ASP(Active Server Pages)中发送邮件不是件困难的事情,需要的条件就是使用CDO组件(Collaborative Data Object),它是谁NT Option Pack 4安装后就有的.为了确认CDO组件已经正确安装在你的机器上,选择"开始/控制面板/添加.删除程序/NT Option Pack 4",看看是否SMTP服务已经安装.如果没有安装,那么运行下面显示的代码时将会发生错误(错误信息类似于"Invaild