各位做过邮件服务的朋友!
我现在需要开发一个对外网的邮件收/发软件!
想请教大家几个问题:
1>如果用Jmail/AspMai/CdoNts来开发邮件的收发的话.服务器还需要配置成邮件服务器吗?
2>是不是成功安装一个邮件服务器软件并配置好后,这台机子就已经是一台邮件服务器了呢?
3>IIS也算是邮件服务器软件吗?
[此贴子已经被作者于2006-2-7 10:54:56编辑过]
<%@ Language=VBScript %>
<%
'+++++++++++++++++++++++++++++
' 参 数 设 置
'+++++++++++++++++++++++++++++
'邮件底部的广告
mailfoot= "BY RAINIC"
'用来发送邮件的SMTP服务器
mailserver= "mail.zzti.edu.cn"
'如果服务器需要SMTP身份验证则:
'登录用户名
mailserverloginname= "card"
'登录密码
mailserverloginpass= "841101"
'域名(如果你用“name@domain.com”这样的用户名登录时,请指明domain.com
mailuserdomain= "card@zzti.edu.cn"
'+++++++++++++++++++++++++++++
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Copyright" content="Ajiang http://www.ajiang.net">
<title>FormMail - Ajiang.net</title>
<style type="text/css">
<!--
body {
font-size: 12px;
} td {
font-size: 12px;
} input {
font-size: 12px;
line-height: 130%;
border: 1px solid #000000;
} .backc {
color: #FFFFFF;
background-image: url(ok.gif);
height: 20px;
width: 55px;
border: none;
} textarea {
font-size: 12px;
border: 1px solid #000000;
} -->
</style>
</head>
<body>
<table width="498" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="formmail_r1_c1.gif" width="500" height="75"></td>
</tr>
<tr>
<td height="300" background="formmail_r2_c1.gif">
<table width="390" border="0" align="center" cellpadding="0" cellspacing="0">
<%
'获取表单数据
fromname= Request.Form("fromname")
frommail= Request.Form("frommail")
toname= Request.Form("toname")
tomail= Request.Form("tomail")
mailtitle= Request.Form("mailtitle")
mailbody= Request.Form("mailbody")
'检查是否填写了表单
if tomail="" then
%>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method=post>
<tr>
<td><p>发信人姓名:
<input type="text" name="fromname">
<br>
发信人信箱:
<input type="text" name="frommail">
<br>
收信人姓名:
<input type="text" name="toname">
<br>
收信人信箱:
<input type="text" name="tomail">
<br>信件主题:
<input name="mailtitle" type="text" size="51">
<br>
信件内容:<br>
<textarea name="mailbody" cols="49" rows="9"></textarea>
<br>
<input name="Submit" type="submit" class="backc" value="提交">
</p>
</td>
</tr>
</form>
<%
else
if frommail="" then
msg="您必须填写您的邮件地址,才可以发信给别人。"
else
'=============== 发 信 ================
dim JMail
set JMail=server.CreateObject("Jmail.message")
JMail.Silent=true
JMail.Charset = "gb2312"
JMail.FromName = fromname
JMail.from = frommail
JMail.AddRecipient tomail,toname
JMail.Subject = mailtitle
jmail.Body=mailbody & vbcrlf & vbcrlf & mailfoot
JMail.MailServerUserName = mailserverloginname
JMail.MailServerPassWord = mailserverloginpass
JMail.MailDomain = mailuserdomain
sendok=JMail.send(mailserver)
if sendok then
msg="已经成功发送了邮件!"
else
msg="发送邮件失败,可能是您填写了错误的邮件地址。<br>" & _
"如果您确信没有写错邮件地址,则可能是发信程序出了<br>" & _
"故障,请与管理员联系"
end if
end if
%>
<tr>
<td valign=middle>
<table width=80% align=center>
<tr><td><p><%=msg%><br><br><a href='javascript:history.back()'>[返回]</a></p></td></tr>
</table>
</td>
</tr>
<%
end if
%>
</table>
</td>
</tr>
<tr>
<td><img src="formmail_r3_c1.gif" width="500" height="36"></td>
</tr>
</table>
</body>
</html>
CDONTS组件是IIS 4.0或IIS 5.0中提供的一种发送E-mail的组件,其实例的创建也要使用Server对象的CreateObject方法,语法如下:Set myMail=
Server.CreateObject("CDONTS.NewMail")
1. CDONTS组件的属性和方法
属性
To 设置收件人的邮件地址
Ac、Bcc 设置一个或多个参阅的邮件地址,是用于设置抄送人与密件抄送人的邮件地址
From 设置发件人的邮件地址
Subject 设置邮件主题
Body 设置邮件内容
方法
Send 发送邮件
AttachFile 设置附加文件
2. CDONTS组件的使用
在使用该组件前,应该保证在计算机中有CDONTS.DLL文件(该文件一般存放在Winnt\System32目录下)。
首先使用DOS下的“regsvr32”命令注册该组件。注册该组件语法为:
regsvr32 [physical path]cdonts.dll
注意:应该指定cdonts.dll文件所在的物理路径。
注销该组件的语法为:
regsvr32/u [physical path]cdonts.dll
3. 组件应用Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
MailObject.Send "发送方邮件地址","接收方邮件地址","主题","邮件正文"
发送附件时可以这样:
Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
att_fileName="附件文件名完整路径"
f_name="文件名"
MailObject.From="在这填写发件人地址"
MailObject.To="在这填写接收人地址"
MailObject.Subject="填写主题"
MailObject.Body="填写正文"
MailObject.AttachFile att_file,f_name
MailObject.Send
Body : String
(v3.0)
信件体,正文,使用AppendText追加内容
如:JMail.Body = "Hello world"
Charset : String
(v3.0)
字符集,缺省为"US-ASCII"
如:JMail.Charset = "US-ASCII"
ContentTransferEncoding : String
(v3.0)
指定内容传送时的编码方式,缺省是"Quoted-Printable"
如:JMail.ContentTransferEncoding = "base64"
ContentType : String
(v3.0)
信件的contentype. 缺省是"text/plain",但是可以设置为其他你想要的类型.
如果你以HTML格式发送邮件, 改为"text/html"即可。
如:JMail.ContentType = "text/html"
DeferredDelivery : Date
(v3.0)
设置延期发送. 如果邮件服务器支持的话,消息到了这个时间才会发送
如:(javascript)JMail.DeferredDelivery = new Date( 2000, 02, 17 ).getVarDate();
Encoding : String
(v3.0)
这个属性可以用来改变附件编码方式(缺省是"base64). 可以选择使用的是"base64", "uuencode" or "quoted-printable"
如:JMail.Encoding = "base64"
ErrorCode : Integer
(v3.0)
如果JMail.silent设置为true,ErrorCode包含的是错误代码
如:Response.Write( JMail.ErrorCode );
ErrorMessage : String
(v3.0)
如果JMail.silent设置为true,包含的是错误信息
如:Response.Write( JMail.ErrorMessage );
ErrorSource : String
(v3.0)
Contains the error source if JMail.silent is set to true
如:Response.Write( JMail.ErrorSource );
ISOEncodeHeaders : Boolean
(v3.0)
是否将信头编码成iso-8859-1字符集. 缺省是true
如:JMail.ISOEncodeHeaders = false
Lazysend : Boolean
(v3.0)
这个属性指定Jmail是否一直等到mail发送了然后返回,或者缓冲这条消息然后在后台发送。
然而设置了这个属性,你就不能控制错误信息。
注意:如果选择了这个选项,属性ServerAddress将无效,lazysend将通过dsn查询决定邮件服务器, 在一些设置里面,这可能有问题。
如:JMail.LazySend = true;
Log : String
(v3.0)
Jmail创建的日志,如果loging属性设置为true
如:Response.Write( JMail.Log );
Logging : Boolean
(v3.0)
是否使用日志
如:JMail.Logging = true
MailDomain : String
(v3.0)
This can be used to override the EHLO/HELO statement to your mailserver
如:JMail.Maildomain = "hello.world.com"
MimeVersion : String
(v3.0)
指定mime版本。缺省是"1.0"
如:JMail.MimeVersion = "1.0"
Priority : Integer
(v3.0)
优先级. 范围在1-5之间
1 高优先级. 有些邮件程序称之为紧急
2 也是高优先级
3 普通优先级
4 低优先级
5 最低的优先级
如:JMail.Priority = 3
Recipients : String
(v3.0)
只读属性,返回所有收件人
如:Response.Write( "" + JMail.Recipients + "" );
ReplyTo : String
(v3.0)
指定一个可选的回信地址
如:JMail.ReplyTo = "president@dimac.net"
ReturnReceipt : Boolean
(v3.0)
指定是否发件人需要一个回复收据. 缺省是false
如:JMail.ReturnReceipt = true
Sender : String
(v3.0)
指定发件人的邮件地址
如:JMail.Sender = "batman@dimac.net"
SenderName : String
(v3.0)
指定发件人的姓名
如:JMail.SenderName = "Bat man"
ServerAddress : String
(v3.0)
指定邮件服务器的地址。可以指定多个服务器,用分号点开。可以指定端口号。
如果serverAddress保持空白,JMail会尝试解决远程邮件服务器,然后直接发送到服务器上去。
如:JMail.ServerAddress = "mail.mydom.net; mail2.mydom.net:2500"
Silent : Boolean
(v3.0)
如果设置为true,JMail不会抛出例外错误. JMail.execute() 会根据操作结果返回true或false
如:JMail.silent = true
SimpleLayout : Boolean
(v3.0)
设置为true,减少Jmail产生的header信头
如:JMail.SimpleLayout = true
Subject : String
(v3.0)
设定消息的标题
如:JMail.Subject = "Dimac rocks big time!"
UsePipelining : Boolean
(v3.0)
Overrides if JMail should use pipelining on a server that supports it.
如:JMail.Pipelining = false
AddAttachment( FileName, [ContentType] )
(v3.0)
添加文件附件到信件
如:JMail.AddAttachment( "c:\\autoexec.bat" );
AddCustomAttachment( FileName, Data )
(v3.0)
添加自定义附件. This can be used to attach "virtual files" like a generated text string or certificate etc.
如:JMail.AddCustomAttachment( "readme.txt", "Contents of file" );
AddHeader( XHeader, Value )
(v3.0)
添加用户定义的X-header到message
如:JMail.AddHeader( "Originating-IP","193.15.14.623" );
AddNativeHeader( Header, Value )
(v3.0)
添加信头
如:JMail.AddNativeHeader( "MTA-Settings", "route" );
AddRecipient( Email )
(v3.0)
增加收件人
如:JMail.AddRecipient( "info@dimac.net" );
AddRecipientBCC( Email )
(v3.0)
增加密件收件人
如:JMail.AddRecipientBCC( "someone@somedomain.net" );
AddRecipientCC( Email )
(v3.0)
增加抄送收件人
如:JMail.AddRecipientCC( "someone@somedomain.net" );
AddRecipientEx( Email, Name )
(v3.0)
增加一个带名字的收件人
如:JMail.AddRecipientEx( "info@dimac.net", "Dimac INFO" );
AddURLAttachment( bstrURL, bstrAttachAs, [bstrAuth] )
(v3.0)
下载并添加一个来自url的附件. 第二个参数"AttachAs", 被用来指定信件收到后的/webpage/asp/jmail1.htm. 第3个可选参数是用来可选的WWW-鉴定.
如:JMail.AddURLAttachment( "http://download.dimac.net/jmail/jmail.exe", "jmail.exe" )
AppendBodyFromFile( FileName )
(v3.0)
将一个文件内容追加到正文后
如:JMail.AppendBodyFromFile( "c:\\mytext.txt" );
AppendText( Text )
(v3.0)
追加信件的正文内容
如:JMail.AppendText( "Text appended to message Body" );
ClearAttachments()
(v3.0)
清除附件列表
如:JMail.ClearAttachments();
ClearCustomHeaders()
(v3.0)
清除所有自定义的信头
如:JMail.ClearCustomHeaders();
ClearRecipients()
(v3.0)
清除收件人列表
如:JMail.ClearRecipients();
Close()
(v3.0)
强制JMail关闭缓冲的与邮件服务器的连接
如:JMail.Close();
Execute() : Boolean
(v3.0)
执行邮件的发送
如:JMail.Execute();
ExtractEmailAddressesFromURL( bstrURL, [bstrAuth] )
(v3.0)
从一个url下载和添加email地址
如:JMail.ExtractEmailAddressesFromURL( "http://duplo.org/generateEmailList.asp" );
GetMessageBodyFromURL( bstrURL, [bstrAuth] )
(v3.0)
清除message的正文,并用url的内容替换。Contenttype 会自动设置成URl的contentyp。第二参数(login and password)是可选的。
如:JMail.GetMessageBodyFromURL( "http://duplo.org/", "login:password" )
LogCustomMessage( Message )
(v3.0)
将用户自定义消息加入JMail日志. 只有属性loging设置为true时,这项功能才能起作用
如:JMail.LogCustomMessage( "Hello world" );