使用W3 JMail实现邮件发送的解决方案
海南省商贸信息服务中心 温大文
(接上篇)
8、 Attachment对象
属性(或方法)
描述
New(FileName,ContentType,Data):Pointer
创建一个可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail将创建一个以Data参数为内容的自定义附件。
SaveToFile(FileName)
保存附件到硬盘。
ContentType():String
返回附件类型(ContentType)
Data():String
返回附件的内容。
BinaryData():String
以二进制模式返回附件的内容。
IsInline():Boolean
如果附件被设置为可嵌入(inline),则返回True。
Name():String
返回附件的文件名称。
Size():Integer
返回附件的大小。
9、 MailMerge对象
属性(或方法)
描述
BulkMerge(RecordSet,enque,Maildestination)
参照邮件模板合并所有记录,要指定使用的pickuo文件夹或邮件服务器。
Expand():Pointer
参照用户指定的方式合并邮件模板(mailTemplate)。
ExpandFromRecordSet(RecordSet):Pointer
参照邮件模板(mailTemplate)合并ADO对象中的一例。
SetDebugMode(TestMailAddress,TestCount)
将邮件合并(mailMerge)设置为测试模式。
Item(VariableNmae):String
手工设置合并参数。注意:该功能不使用于ADO数据例的合并。
MailTemplate():Pointer
设置一个创建好的Message对象,这个对象将被作为邮件合并的模板。
MergeAttachments():Boolean
当该属性设置为 True时,附件被作为邮件合并的一个选项。
10、 PGPKeys对象
属性(或方法)
描述
Count():Integer
返回密码的总数。
Item(Index):Pointer
返回PGPKey信息对象。
11、 PGPKeyInfo对象
属性(或方法)
描述
KeyCreateDate():String
返回邮件密码创建的时间。
KeyID():String
返回密码的ID号。
KeyUser():String
返回创建密码的用户名。
12、 SpeedMailer对象
属性(或方法)
描述
EnqueMail(FromEmail,RecipientEmails,
Subject,Body,MsPickupdirectory)
添加一个邮件到发送队列。内容、主题等数据通过该方法的参数传递。
SendMail(FromEMail,RecipientEMails,
Subject,Body,MailServers)
通过SMTP发送一封邮件。内容、主题等数据通过该方法的参数传递。
SendXMLMail(XML)
关于该函数的用法请访问:http://xml.dimac.net/namespace/jmail
四、利用Jmail4.3邮件组件发送邮件示例:
通过以上的介绍,相信读者对Dimac W3 Jmail及其一些常用的对象已有了比较全面的了解。下面将通过一个例子来讲解如何创建w3 Jmail对象,并使用它来创建一个新邮件,设置邮件的标题、内容等并发送该邮件。
JmailSend.asp
<%@Language=”VBScript”%>
<%
Response.Buffer=True
‘创建Jmail.Message对象实例oJmail
Set oJmail=Server.CreateObject(“Jmail.Message”)
‘启动日志功能
oJmail.Logging=True
‘不将错误返回给操作系统
oJmail.Silent=True
‘设置邮件发送者的邮件地址
oJmail.From=”jackywen01@163.com”
‘设置邮件发送者的姓名
oJmail.FromName=”小虎”
‘设置接收邮件人的邮箱地址
oJmail.AddRecipient “yourfriend@163.com”
‘设置邮件标题
oJmail.Subject=”邮件测试系统”
‘邮件正文
oJmail.Body=”朋友:”&vbCrLf&vbCrLf&”最近,我使用Jmail开发一个邮件发送系统。”
‘发送邮件,Mail.myDomain.com假设为SMTP服务器
oJmail.Send(“Mail.myDomain.com”)
%>
接下来我们再来看一个比较简单的邮件接收系统。这个例子的执行过程,首先是从存放邮件的服务器上取出邮件,然后把它同附件一起显示在WEB也面上。
JmailReceipt.asp
<% @LANGUAGE=VBSCRIPT %>
<%
Set pJmail = Server.CreateObject( "JMail.POP3" )
pJmail.Connect "username", "password", "mail.mydomain.com"
Response.Write( "你有 " & pJmail.count & " 封新邮件<br><br>" )
if pJmail.count > 0 then
Set msg = pJmail.Messages.item(1)
ReTo = ""
ReCC = ""
Set Recipients = msg.Recipients
separator = ", "
For i = 0 To Recipients.Count - 1
If i = Recipients.Count - 1 Then
separator = ""
End If
Set re = Recipients.item(i)
If re.ReType = 0 Then
ReTo = ReTo & re.Name & " (" & re.EMail & ")" & separator
else
ReCC = ReTo & re.Name & " (" & re.EMail & ")" & separator
End If
Next
Function getAttachments()
Set Attachments = msg.Attachments
separator = ", "
For i = 0 To Attachments.Count - 1
If i = Attachments.Count - 1 Then
separator = ""
End If
Set at = Attachments(i)
at.SaveToFile( "c:\fujian\" & at.Name )
getAttachments = getAttachments & "<a href=""/fujian/" &_
at.Name &""">" & at.Name & "(" & at.Size & " bytes)" &_
"</a>" & separator
Next
End Function
%>
<html>
<body>
<TABLE>
<tr>
<td>主题</td>
<td><%= msg.Subject %></td>
</tr>
<tr>
<td>发件人</td>
<td><%= msg.FromName %></td>
</tr>
<tr>
<td>收件人</td>
<td><%= ReTO %></td>
</tr>
<tr>
<td>抄送人</td>
<td><%= ReCC %></td>
</tr>
<tr>
<td>附件</td>
<td><%= getAttachments %></td>
</tr>
<tr>
<td>正文</td>
<td><pre><%= msg.Body %></pre></td>
</tr>
</TABLE>
</body>
</html>
<%
end if
pJmail.Disconnect ‘断开POP3连接
%>
至此,一个简单的邮件发送和接收系统就开发完成了。至于有些网友要开发比较复杂的邮件系统,可以结合以上所讲的对象及其属性方法来开发,肯定会开发出功能强大齐全的邮件系统。