个性化对象参考

邮件营销大师提供了两个主对象Message和User用于邮件个性化支持。通过这两个对象的脚本支持,您可以自定义邮件的发件人、主题、正文、附件等的所有要素。个性化对象主要用于全局个性化脚本中。

Message对象介绍

个性化脚本中的Message对象提供了如下的属性和方法允许您对邮件进行控制:

属性 类型 说明
FromName 文本 读写发件人的显示名称,默认值为发件人帐户的名称。

范例
Message.FromName = "Nesox Solutions"

FromEmail 文本 读写发件人的邮件地址,缺省值为发件人的邮件地址。

范例
Message.FromEmail = "someone@nesox.com"

ReplyName 文本 读写回复人的显示名称,缺省值为回复人帐户的名称。

范例
Message.ReplyName = "Nesox Solutions"

ReplyEmail 文本 读写回复人的邮件地址,缺省值为回复人的邮件地址。

范例
Message.ReplyEmail = "someone@nesox.com"

Subject 文本 读写邮件主题。

范例
Message.Subject = Message.Subject & " for " & User("FirstName")

CC 文本 读写邮件的抄送地址或者地址列表。

范例
If User("AlternativeEmail") <> "" Then Message.CC = User("AlternativeEmail")

BCC 文本 读写邮件的暗送地址或者地址列表。

范例
Message.BCC = "someone@nesox.com"
Message.BCC = "someone1@nesox.com; someone2@nesox.com"

Text 对象 访问邮件的文本内容,Message.Text的类型为Body对象类型。使用方法请参考Body对象。

范例
Message.Text.LoadFromFile "c:\newsletter1.txt"

HTML 对象 访问邮件的HTML内容,Message.HTML的类型为Body对象类型。使用方法请参考Body对象。

范例
Message.Html.LoadFromFile "c:\newsletter1.htm"

Format 文本 读写邮件格式,可选项格式包括"Text", "Html" 或 "Automatic"。

范例
Message.Format = User("Format")

Body 对象 在嵌入式脚本中使用,等价于Text或HTML对象。
Attachments 对象 访问邮件的附件集。

范例
Message.Attachments.Add "c:\news.pdf"

Cancelled 是否 判断该邮件的生成或发送是否已经取消。

范例
If Message.Cancelled Then MsgBox Message.Email & " was cancelled."

DateTime 日期时间 访问该邮件的最后操作时间。

范例 (用于成功发送或失败发送的脚本模块中)
Set Sys = CreateObject("Scripting.FileSystemObject")
Set Txt = Sys.OpenTextFile("c:\mylog.txt", 8)
Txt.Write(Message.Email & ": " & Message.DateTime & vbCrlf)
Txt.Close

ErrorNumber 数字 访问邮件创建或者发送失败的错误号。

范例 (用于失败发送的脚本模块中)
Set Sys = CreateObject("Scripting.FileSystemObject")
Set Txt = Sys.OpenTextFile("c:\mylog.txt", 8)
Txt.Write(Message.Email & ": " & Message.ErrorNumber & " " & Message.ErrorText & vbCrlf)
Txt.Close

ErrorText 文本 访问邮件创建或者发送失败的错误信息。

范例 (用于失败发送的脚本模块中)
Set Sys = CreateObject("Scripting.FileSystemObject")
Set Txt = Sys.OpenTextFile("c:\mylog.txt", 8)
Txt.Write(Message.Email & ": " & Message.ErrorNumber & " " & Message.ErrorText & vbCrlf)
Txt.Close

UserKey 文本 访问收件人的关键字字段内容。用于发送后的回调处理。

范例 (用于成功发送的脚本模块中)
Message.ListConnection.Execute "UPDATE List SET DeliveryTime=Now() WHERE ID=" & Message.UserKey

Email 文本 访问收件人的邮件地址。用于发送后的回调处理。

范例 (用于成功发送的脚本模块中)
Message.ListConnection.Execute "UPDATE List SET DeliveryTime=Now() WHERE Email='" & Message.Email & "'"

ListConnection 对象 ADO数据库连接对象,连接至邮件列表数据库。

范例
Set Sys = CreateObject("Scripting.FileSystemObject")
Set Txt = Sys.OpenTextFile("c:\mylog.txt", 8)
Txt.Write(Message.Email & ": " & Message.DateTime)
Txt.Close

方法 返回值

说明

Reset 重置Message对象,清空主题,内容和附件。
Cancel 取消该邮件的个性化创建和发送操作。

 

Body(Message.Text, Message.Html)对象介绍

Body对象可帮助您控制邮件的纯文本或者HTML正文。Message.Body只能在嵌入式脚本中使用,全局个性化脚本中进行邮件正文控制请使用Message.Text或Message.Html。Body对象提供了如下的属性和方法允许您对邮件内容进行控制:

属性 类型 说明
Text 文本 读写邮件纯文本内容或HTML源码字符串。

范例
Message.Text.Text = "Hello!"
Message.HTML.Text = "<b>Hello!</b>"

方法 返回值 说明
Write 在邮件纯文本内容或HTML源码中输出文字。

范例
Body.Write "String"

特别说明
在嵌入式脚本中, ="String" 等价于 Body.Write "String"

WriteLine 在邮件纯文本内容或HTML源码中输出文字并换行。

范例
Body.WriteLine "String"

InsertFromFile 读取文件内容并插入至纯文本内容或HTML源码。

范例
Body.InsertFromFile "c:\copyright.htm"

LoadFromFile 读取文件内容并且覆盖至纯文本内容或HTML源码。

范例
Body.LoadFromFile "c:\newsletter1.htm"

Clear 清空邮件的纯文本内容或HTML源码。

范例
Message.Text.Clear

End 停止纯文本内容或HTML源码的生成。

范例
Message.Text.End
Message.Text.WriteLine "String" 
' this will not work any more

SaveToFile 将邮件纯文本内容或HTML源码内容保存至文件。

范例
Message.Html.SaveToFile "c:\" & User("Email") & ".htm"
Message.Text.SaveToFile "c:\" & User("Email") & ".txt"

Attachments对象介绍

个性化脚本中的Attachments对象提供了如下的属性和方法允许您对邮件附件进行控制:

属性 类型 说明
Count 数字 读取邮件中的附件数。
方法 返回值 说明
Add 添加一个附件文件。

范例
Message.Attachments.Add "FilePath"

Remove 根据文件名或附件索引号删除一个附件文件。

范例
Message.Attachments.Remove "FilePath"

Clear 删除所有附件文件。

范例
If User("NoAttachment") = "1" Then
  Message.Attachments.Clear
End If

Find 数字 根据文件名称查找附件,返回附件索引号。

范例
If Message.Attachments.Find("FilePath") >= 0 Then
  Message.Attachments.Remove "FilePath"
End If

 

User对象介绍

User对象主要用于访问联系人的属性用于邮件内容的个性化生成,它提供了如下的属性和方法:

属性 类型 说明
Properties 文字 读写联系人的属性字段。

范例
Message.Subject = User.Properties("FirstName") & ", " & Message.Subject

特别说明
1. User("fieldname")等价于User.Properties("fieldname")
2. 在嵌入式脚本中,[fieldname]也等价于User.Properties("fieldname")

Email 文字 读写联系人的邮件地址。

范例
If User.Email = "" And User("AlternativeEmail") <> "" Then
  User.Email = User("AlternativeEmail")
End If

FullName 文字 读写联系人的姓名。

范例
If User.FullName = "" Then
  User.FullName = User("FirstName")
End If

Key 文字 读写联系人的主键字段。

范例
If User.Key <> "" Then
  Message.HTML = Replace(Message.HTML, "#key#", User.Key)
End If

Connection 对象 ADO数据库连接对象,连接至邮件列表数据库。

范例
Set rs = User.Connection.Execute("SELECT OrderNo FROM Orders WHERE UserID=" & User("ID"))
User("OrderNo") = rs("OrderNo")

方法 返回值 说明
Clear 删除对象中所有的用户属性。

范例
User.Clear