Dimac w3 Jmail 给电子邮件加密
为了使用w3 Jmail来加密,你需要在你的网络服务器上安装PGP。这在第10页的用Dimac w3 Jmail使PGP能够加密这一部分有详细的解释。
为了运行下面的例子,你必须在你的网络服务器上为接收者安装一个PGP密文。在你的PGP文档中,你能够了解更多的关于如何安装PGP密文。
首先,当你运行第一个w3 JMail例子的时候,用你创建的密码开始。然后,恰好在发送你的e-mail的那行代码 msg.Send(“mail.myDomain.com”) 之前,你插入如下代码:
jmail.PGPEncrypt = true
这样就可以了!w3 JMail借助于安装在网络服务器上的PGP密文,使用PGP来为你的电子邮件加密。如果网络服务器上没有为接收者准备的PGP密文,w3 JMail将会抛出一个错误。
 
注意:只有w3 JMail的专业版才包含大规模邮件和邮件合并。
Dimac w3 JMail 使大规模邮件在电子邮件上标出地址姓名等个体信息
与你的网站访问者保持联系的一种最通常的方式就是无论你什么时候更新网站,都发电子邮件给他们。使用w3 JMail邮件合并功能,你能够用已经收集到的接受者的姓名和其它详细信息来标志每一个电子邮件。邮件合并以这样的方式发挥作用,你首先创建一个模板,使用它来建立电子邮件。这个模板可以包含任何数量的合并字段,这些字段用个人信息来替换。例如,如果下面内容是你的模板:
       Hi %%name%%!
       You have %%ordersCount%% orders in process.
你能够很容易地看到这些合并的字段,当这些字段分别以两个百分号(%%)作为开始和结束的标志的时候。
现在让我们来看一看这个例子。首先,我们将创建一个消息对象,这个对象将作为用来合并的模板:
       set msgTemplate = Server.CreateObject(“JMail.Message”)
       msgTemplate.Subject = “Hi %%Name%%!”
       msgTemplate.Body = “Hello %%Name%%,….bla bla…”
       msgTemplate.Form = “[email][email protected][/email]
       msgTemplate.FormName = “Mailinglist info!”
       msgTemplate.AddRecipient(%%Email%%,%%Name%%)
注意实际上我们在接收字段中是如何使用合并字段的。在那里,我们的消息模板被完成。下一步,我们创建邮件合并对象:
       set mMerge = Server.CreateObject(“JMail.MailMerge”)
       mMerge.MailTemplate=msgTemplate
那是第一部分,现在我们需要一组接收者。在这个例子中,我们需要一个ADO记录集,然而,如果在一个文件中,你大约有一系列的接收者,手工来制作记录集也是可能的。假定我们已经建立了一个与我们的SQL服务器的连接,这个连接名为sqlCon
       MyRS = sqlCon.execute(“SELECT name,email FROM ourCustomers”)
       MMerge.BulkMerge(MyRS,false, “mail.myDomain.com”)
你看到我们输入了我们的邮件服务器地址,因为BulkMerge方法一与服务器地址结合起来就发送电子邮件,既然这样,你就不需要使用send()方法。
这个BulkMerge方法也能够用于跟w3 JMailenque方法相结合。仅仅设置第二个参数为true,忽略最后一个参数,这些电子邮件将被排成队列,这是一种最受欢迎的方式,因为大规模邮件(massmailing)将是一种大容量的操作(因此名为BulkMerge)。
BulkMerge进行结合操作之后,发送电子邮件,我们就完成任务了。
 
 
对象参考
JMail.POP3                                                  
JMail.Messages                                               
JMail.Message                                                
JMail.Headers                                                
JMail.Recipients                                              
JMail.Recipient                                               
JMail.Attachments                                             
JMail.Attachment                                             
JMail.MailMerge                                             
JMail.PGPKeys                                              
JMail.PGPKeyInfo                                            
JMail.SpeedMailer                                            
 
 
JMail.POP3
  Count : Integer
  Log : String
  Logging : Boolean
  Messages : Pointer
  Size : Integer
  Connect(Username,Password,Server,Port)
  DeleteMessages()
  DeleteSingleMessage(Message ID)
  Disconnect()
  DownloadHeaders()
  DownloadMessages()
  DownloadSingleHeader(Message ID)
  DownloadUnreadMessages()
  GetLastUnreadMessage() : Integer
  GetMessagesUID(Message ID) : String
 
 
Count : Integer
返回在POP3服务器上消息的数量
i = mailbox.Count
 
Log : String
这是当logging属性被设定为true的时候,由w3 JMail创建的日志。
     Response.Write(POP3.log)
 
Logging : Boolean
w3 JMail中,启动或者不启动logging。缺省值为false
     mailbox.Logging = true
 
Messages : Pointer
返回消息对象,通过它,你能够存取访问消息。
     set messages = mailbox.Messages
 
Size : Integer
以字节数的形式返回你的邮箱的整个大小。
     size = mailbox.Size
 
Connect(Username,Password,Server,Port)
打开与POP3服务器的连接。端口是可选择的,默认是110
mailbox.Connect(“john”, “qwerty”, “mail.myDomain.com”)
 
DeleteMessages()
从邮件服务器删除所有的消息。
     Mailbox.DeleteMessages
 
DeleteSingleMessage(MessageID)
在邮件服务器上删除一个单独的消息。
     Mailbox.DeleteSingleMessage(1)
 
Disconnect()
关闭与服务器的连接。
     mailbox.Disconnect
 
DownloadHeaders()
下载所有的报头,把它们添加到报文集中。
     Mailbox.DownloadHeaders
 
DownloadMessages()
下载所有的报文。
     Mailbox.DownloadMessages
 
DownloadSingleHeader(MessageID)
下载一个单独报文的报头,把它们添加到报文集中。
     Mailbox.DownloadSingleHeader(1)
 
DownloadUnreadMessages()
下载所有未读过的电子邮件(没有被任何客户端软件下载过的报文)。这些电子邮件被添加到报文集中。注意这个命令已经从POP3规格说明书(RFC1725)中被删除了,所以它可能不被所有的邮件服务器支持。
     Mailbox.DownloadUnreadMessages
 
GetLastUnreadMessage() : Integer
返回第一个未读的报文(没有被任何的客户端软件下载的报文)的ID号。如果没有报文被访问到,返回0;如果这个命令不被服务器支持,返回-1。注意这个命令已经从POP3规格说明书(RFC1725)中被删除了,所以它可能不被所有的邮件服务器支持。
     lastMessage = Mailbox.GetLastUnreadMessage
 
GetMessageUID(MessageID) : String
返回对这个报文来说,服务器唯一的ID
     Mailbox.GetMessageUID(1)
 
 
JMail.Messages
Count : Integer
Item : Pointer
Clear()
 
Count : Integer
返回集合中报文的数量。
     i = Messages.Count
 
Item : Pointer
返回一个报文对象。
     set msg = Messages.Item(0)
 
Clear()
清除报文集。注意它将不会从你的邮件服务器中删除任何的电子邮件。
     Messages.Clear
 
JMail.Message
About : String
Attachments : Pointer
Body : String
BodyText : String
Charset : String
ContentTransferEncoding : String
ContentType : String
Date : Date
DeferredDelivery : Date
Encoding : String
EncryptAttachments : Boolean
ErrorCode : Integer
ErrorMessage : String
ErrorSource : String
From : String
FromName : String
Headers : Pointer
HTMLBody : String
ISOEncodeHeaders : Boolean
Log : String
Logging : Boolean
MailData : String
MailDomain : String
MailServerPassWord : String
MailServerUserName : String
MimeVersion : String
MsPickupdirectory : String
PGPEncrypt : Boolean
PGPPassphrase : String
PGPSign : Boolean
PGPSignkey : String
Priority : Byte
Recipients : Pointer
RecipientsString : String
ReplyTo : String
ReturnReceipt : Boolean
Silent : Boolean
SimpleLayout : Boolean
Size : Integer
Subject : String
Text : String
UsePipelining : Boolean
Version : String
AddAttachment(Filename,isInline,ContentType) : String
AddCustomAttachment(Filename,Data,isInline) : String
AddHeader(XHeader,Value)
AddNativeHeader(Header,Value)
AddRecipient(emailAddress,recipientName,PGPKey)
AddRecipientBCC(emailAddress,PGPKey)
AddRecipientCC(emailAddress, recipientName,PGPKey)
AddURLAttachment(bstrURL,bstrAttachAs,bstrAuth) : String
AppendBodyFromFile(FileName)
AppendHTML(Text)
AppendText(Text)
Clear()
ClearAttachments()
ClearCustomHeaders()
ClearRecipients()
Close()
DecodeHeader(Header) : String
ExtractEmailAddressesFromURL(bstrURL,bstrAuth)
GetMessageBody FromURL(bstrURL,bstrAuth)
KeyInformation(keyIdentifier) : Pointer
LoadFromStream(Stream)
LogCustomMessage(Message)
Nq()
ParseMessage(MessageSource)
SaveToStream(Stream)
Send(mailServer,enque) : Boolean
SendToNewsGroup(ServerName,Newsgroups)
VerifyKeys(keystring) : Boolean
 
About : String
一些有用的信息。
     Response.Write (Message.About)
 
Attachments : Pointer
返回附件集。
     set p_w_uploads = Message.Attachments
 
Body : String
返回报文的主体部分。
     Response.Write(Message.Body) or Message.Body=”Hello world!”
 
BodyText : String
返回整个原始的未被解析的主体(Text-Headers.Text)
     Response.Write(Message.BodyText)
 
Charset : String
报文的字符集。默认的是“US-ASCII”。
     Message.Charset = “US-ASCII”
 
ContentTransferEncoding : String
指定内容转换编码。默认的是“Quoted-Printable”。
     Message.ContentTransferEncoding = “base64”
 
ContentType : String
返回主体部分的内容类型。
     Response.Write(Message.ContentType)
 
Date : Date
当报文被发送的时候返回日期时间。
     Response.Write(Message.Date)
 
DeferredDelivery : Date
设置报文的延期发送。如果邮件服务器支持它,则报文直到指定的日期时间才会被发送。
     Message.DeferredDelivery = CDate(“2000-12-12”)
 
Encoding : String
这个能被用来从base64改变默认的附件编码。有效的选项是“base64”或“quoted-printable”。
     Message.Encoding = “base64”
 
EncryptAttachments : Boolean
设置为true ,那么如果能够加密,所有的附件也将会被加密。缺省值为true
     Message.EncryptAttachments = true
 
ErrorCode : Integer
如果message.silent被设置为true,则包含错误的代码。
     Response.Write(message.ErrorCode)