一直想写一个asp能用发送邮件的服务器组件,不过用VC太麻烦了,一直都没都手。
前两天看一篇文章,说是asp怎么调用C#写的DLL,一试之下,果然可以,大喜,这下用来写一个发送邮件的东东简单了吧。
呵呵,非常简单,一会就弄好了,不敢独享,先看代码:
说一下具体实现过程:
1、首先新建一个类库项目;打开项目属性页,在“应用程序”标签设置程序集名称为“IMELS”(当然,这个你可以设置为你喜欢的名字),输出类型为类库,如图:
点击“程序集信息”,勾选“使程序集COM可见”,如图:
2、“签名”标签,勾选“为程序签名”,如图:
然后“在选择强名称密钥文件”下拉列表中选择密钥文件,如果没有密钥文件,就选择“新建”,这里我选择新建,如图:
在“密钥文件名称”栏里输入密钥的名称,你可以选择为密钥添加密码保护它,我这里没有使用密码。
然后为项目添加一个类“SendMail ”,代码就如上了。
3、代码完成后,生成DLL文件,把DLL放到D:盘或别的什么盘,不过最好不要放在系统盘,然后就是注册了,注册C#写的DLL是不能用regsvr32的,要用regasm,格式为:regasm /codebase d:/DLL/IMELS.dll。
这样DLL的编写和注册都已完成了,下面就是应用了,asp中调用方法如下:
1
<
%
2 dim send
3 set send = Server.CreateObject( " IMELS.SendMail " )
4
5 send.From = " test@163.com "
6 send.FromName = " 无问 "
7 send.Smtp = " smtp.163.com "
8 send.Username = " 用户名 "
9 send.Password = " 密码 "
10 send.Subject = " asp调用C#编写的DLL发送邮件测试标题 "
11 send.ContentType = " html "
12 send.Charset = " gb2312 "
13 send.Body = " asp调用C#编写的DLL发送邮件测试正文 "
14 send.To = " to@163.com "
15 send.CC = " 抄送地址 "
16 send.BCC = " 密抄地址 "
17 send.Send()
18 Response.Write(send.Error)
19 % >
20
2 dim send
3 set send = Server.CreateObject( " IMELS.SendMail " )
4
5 send.From = " test@163.com "
6 send.FromName = " 无问 "
7 send.Smtp = " smtp.163.com "
8 send.Username = " 用户名 "
9 send.Password = " 密码 "
10 send.Subject = " asp调用C#编写的DLL发送邮件测试标题 "
11 send.ContentType = " html "
12 send.Charset = " gb2312 "
13 send.Body = " asp调用C#编写的DLL发送邮件测试正文 "
14 send.To = " to@163.com "
15 send.CC = " 抄送地址 "
16 send.BCC = " 密抄地址 "
17 send.Send()
18 Response.Write(send.Error)
19 % >
20
好了,大功告成!!