ema_mail.kb 的例行程序


CleanUpMessageContent

文件名

ema_mail.kb

语法

CleanUpMessageContent(REF msg:STRING);

参数

msg: 新消息内容

返回

副作用

说明

此函数扫描消息,以获取“不良字符”并用空白字符替换每个“不良字符”。

调用的对话框窗体


DumpStructEvent

文件名

ema_mail.kb

语法

DumpStructEvent(REF emailData:EmailDataRec);

参数

返回

副作用

说明

此例行程序为“转储结构”窗口提供基本事件处理。

调用的对话框窗体


EMailDeleteCurrentMessage

文件名

ema_mail.kb

语法

EMailDeleteCurrentMessage(REF emailData:EMailDataRec);

参数

emailData: 概念性的“邮件注册句柄”

返回

1 = 成功

0 = 失败:没有容器打开或没有要删除的消息

-n = 读取失败状态:请参见 KML MAIL 错误代码

副作用

说明

此函数通过最后调用 EMailReadNextNewMessage 来删除消息读取。删除消息失败使帐户“收件箱”资料夹中的消息被标记为“已阅读”。

调用的对话框窗体


EMailGetReadMessageCount

文件名

ema_mail.kb

语法

EMailGetReadMessageCount(REF emailData:EMailDataRec, REF readMsgCount:INTEGER);

参数

emailData: 概念性的“邮件注册句柄”

readMsgCount:

返回

1 = 成功

EMAIL_ERR_NOT_LOGGED_IN = 失败 -- 未注册成功

ERR_NONFATAL = 读取失败:能够继续

ERR_FATAL = 读取失败:不能继续

emailData.emailStatus =>保持上一个 KML 邮件状态码

副作用

说明

此函数从帐户收件箱中取样并确定“读取”消息数。注:此调用很昂贵。

调用的对话框窗体


EMailGetUnreadMessageCount

文件名

ema_mail.kb

语法

EMailGetUnreadMessageCount(REF emailData:EMailDataRec, REF unreadMsgCount:INTEGER);

参数

emailData: 概念性的“邮件注册句柄”

unreadMsgCount:

返回

1 = 成功

EMAIL_ERR_NOT_LOGGED_IN = 失败 -- 未注册成功

ERR_NONFATAL = 读取失败:能够继续

ERR_FATAL = 读取失败:不能继续

emailData.emailStatus =>保持上一个 KML 邮件状态码

副作用

说明

此函数从未读取的消息队列中取样并返回取样数目。注:如果想在确定取样数目之后立刻读取消息,建议直接调用 ReadNextNewMessage 并跳过此例行程序调用。

调用的对话框窗体


EMailInitData

文件名

ema_mail.kb

语法

EMailInitData(REF emailData:EMailDataRec);

参数

emailData:“邮件句柄”,标识邮件会话

返回

1 = 成功

副作用

说明

此函数对邮件数据记录进行初始化,以用于一般用途。

调用的对话框窗体


EMailLogin

文件名

ema_mail.kb

语法

EMailLogin( REF emailData:EMailDataRec, REF emailSystemType:INTEGER, REF accountName:STRING, REF accountPassword:STRING, REF emailPostOffice:STRING, REF emailServer:STRING, REF emailContainer:STRING, VAL parentWindow:WINDOW, VAL tries:INTEGER );

参数

emailData: 概念性的“邮件注册句柄”

emailSystemName: 要使用的主要邮件系统

accountName: 帐户名称

accountPassword: 帐户口令

emailPostOffice: 这将是 1) cc:Mail 的邮局数据库

文件的路径

或 2) SMTP/POP 的服务器名称。

emailContainer: 将用作邮件“容器”的文件的

完整路径(仅 SMTP/POP)。

parentWindow: 如果提示用户,则使用此句柄。

tries: 最大注册尝试次数(如果 parentWindow 存在)

返回

1 = 成功

0 = 用户取消或注册失败

ERR_NONFATAL = OpenSession 失败:能够继续

ERR_FATAL = OpenSession 失败:不能继续

emailData.loginData.loginStatus =>保持 KML 邮件注册状态码

副作用

说明

此函数使用邮件系统记录一个新会话。如果已提供 parentWindow 参数,则假定交互提示用户将“名称”、“口令”与“PO”作为缺省值。如果 parentWindow 是未知的,则假定所输入的值是完整的且将直接用来打开邮件会话。

调用的对话框窗体


EMailLoginEventHandler

文件名

ema_mail.kb

语法

EMailLoginEventHandler(REF loginData: EMailLoginDataRec);

参数

loginData: 此对话框类型的实例数据

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序为“邮件注册”对话框提供事件处理。它完成下列三件事情:1) 确保进行邮件系统选择时启用/禁用适当的字段。2) 如果帐户可用而口令不可用,它将试图灵活设置焦点。3) 它试图打开该邮件会话并返回该尝试的状态。

调用的对话框窗体


EMailLogout

文件名

ema_mail.kb

语法

EMailLogout(REF emailData:EMailDataRec);

参数

emailData:“邮件句柄”,标识邮件会话

返回

1 = 成功

副作用

说明

所提供的 emailData 结构被彻底清除。

调用的对话框窗体


EMailOpenContainer

文件名

ema_mail.kb

语法

EMailOpenContainer( REF emailData:EMailDataRec, VAL attemptFailover:BOOLEAN );

参数

emailData: 标准结构“句柄”

attemptfailOver: 指示 KML 函数失败时是否尝试

失败后重新开始的标志。

返回

1 = 成功

副作用

说明

此函数“包括”等价的 KML MailOpenMessageContainer 函数。它提供此模块中每一函数所需要的所有标准错误检测与校正,此模块试图打开某一容器。

调用的对话框窗体


EMailPrepareOutgoingMessage

文件名

ema_mail.kb

语法

EMailPrepareOutgoingMessage( REF msgBody:STRING );

参数

msgBody: 要准备的消息文本

返回

1 = 成功

副作用

说明

此函数准备外出邮件消息正文,该消息正文是通过电子邮件传入的。cc:Mail 的缩格书写、断行与折行等特点都需要放入一个表单中,cc:Mail 会在“重新传送”时正常接受该表单。

调用的对话框窗体


EMailReadNextNewMessage

文件名

ema_mail.kb

语法

EMailReadNextNewMessage(REF emailData:EMailDataRec, REF msgSubject:STRING, REF msgBody:STRING, REF msgAttachmentList:LIST OF STRING, REF msgFrom:STRING, REF remainingMsgCount:INTEGER, VAL attemptFailover:BOOLEAN );

参数

emailData: 概念性的“邮件注册句柄”

msgSubject: 新消息“主题”文本

msgBody: 新消息内容

msgAttachmentList: 附件文件名列表

remainingMsgCount: 剩余信息

attemptfailOver: 指示 KML 函数失败时是否尝试

失败后重新开始的标志。

返回

1 = 成功

2 = 系统中的不良消息:至少找到一条好消息

0 = 不再有消息

EMAIL_ERR_NOT_LOGGED_IN = 失败 -- 未注册成功

ERR_NONFATAL = 读取失败:能够继续

ERR_FATAL = 读取失败:不能继续

emailData.emailStatus =>保持上一个 KML 邮件状态码

副作用

说明

此函数为此 emailData 句柄中引用的帐户读取下一条新邮件消息。如果有新(未读的)消息,此例行程序会将其读入并将其标记为已阅读过。该消息内容存储在所输入的明显的 REF 自变量中。系统也报告剩余的未阅读消息的总量。请注意:此例行程序将保留呼叫间的扫描消息的列表。如果已对以前扫描的项全都进行了处理,此例行程序也将重新扫描邮件收件箱。因此,仅当执行新扫描时,该“remainingMsgCount”才准确。也请注意此方法意味着您一定不要允许多个读者阅读此电子邮件帐户。为了提高性能,将会实施此方法。重新扫描深入植入的收件箱的代价很大。完成新邮件消息的操作之后,应该在再次调用此例行程序之前调用 EMailDeleteCurrentMessage。请注意此例行程序读取的任何消息都被“标记为已阅读”。这样后续调用此例行程序将不会再次阅读同样的消息。

调用的对话框窗体


EMailScanUnreadMessages

文件名

ema_mail.kb

语法

EMailScanUnreadMessages( REF emailData:EMailDataRec, VAL attemptFailover:BOOLEAN );

参数

emailData: 标准结构“句柄”

attemptfailOver: 指示 KML 函数失败时是否尝试

失败后重新开始的标志。

返回

1 = 成功

副作用

说明

此函数“包括”等价的 KML MailScanMessages 函数。它提供此模块中每一函数所需的所有标准错误检测与校正,此模块试图通过扫描获取消息。

调用的对话框窗体


EMailSendMessage

文件名

ema_mail.kb

语法

EMailSendMessage(REF emailData:EMailDataRec, VAL msgSubject:STRING, VAL msgBody:STRING, VAL destinationAccounts:LIST OF STRING, VAL attachmentMsg:STRING );

参数

emailData: 概念性的“邮件注册句柄”

msgSubject: 新消息“主题”文本

msgBody: 新消息内容

destinationAccounts: 要接收此消息的帐户

attachmentMsg: 如果 msgBody 将成为附件,则将

此文本作为消息正文。

返回

1 = 成功

EMAIL_ERR_NOT_LOGGED_IN = 不良会话标识,未注册成功

EMAIL_ERR_CANT_OPEN_MSG_FILE = 无法打开消息正文的文件

EMAIL_ERR_BAD_DESTINATION = 不良目的地(未知)

ERR_NONFATAL = 发送失败:能够继续

ERR_FATAL = 发送失败:不能继续

emailData.emailStatus =>保持上一个 KML 邮件状态码

副作用

说明

此函数向一系列目的地发送消息。在调用此例行程序之前,调用者必须调用 EMailLogin。如果目的地自变量是未知的,则此例行程序的功能是直接回答电子邮件(EMailReply):它将位于 emailData 记录中的任何电子邮件地址作为目的地。

调用的对话框窗体


EMailShutDown

文件名

ema_mail.kb

语法

EMailShutDown;

参数

返回

1 = 成功

< 1 = MailTerminate 的电子邮件错误代码

副作用

说明

应在应用程序关闭时调用此函数。它终止所有 KML 邮件通信。

调用的对话框窗体


EMailStartup

文件名

ema_mail.kb

语法

EMailStartup(VAL emailProtocol:INTEGER);

参数

emailProtocol: 要使用的 VIM 或 MAPI 协议

返回

1 = 成功

0 = 此协议请求不同意以前的调用

< 1 = Email error codes for MailInitialize

副作用

说明

应在应用程序启动时调用此函数。应只对它调用一次。

调用的对话框窗体


EMailSystemTypeNum

文件名

ema_mail.kb

语法

EMailSystemTypeNum(VAL emailSystemName:STRING);

参数

emailSystemName: 作为字符串的电子邮件系统

返回

999EMAIL_TYPE_xxx 值之一。(缺省值是 CCMAIL。)

当前已知类型:

EMAIL_TYPE_CCMAIL

EMAIL_TYPE_GRPWISE

EMAIL_TYPE_EXCHANGE

EMAIL_TYPE_MSMAIL

EMAIL_TYPE_NOTESMAIL

EMAIL_TYPE_SMTPPOP

副作用

说明

此例行程序将表示电子邮件系统名称的字符串转换为一个整数。换句话说,将 STR_EMAIL_TYPE_xxx 转换为与它等价的 EMAIL_TYPE_xxx。

调用的对话框窗体


EmailTest

文件名

ema_mail.kb

语法

EmailTest;

参数

返回

副作用

说明

此函数创建类型 Xxxx 的对话框。调用此函数之前,应该总是调用第一个自变量上的 XxxxGetData 并替换所有必要值。调用 GetData 失败会产生未在使用的“常规”缺省值。

调用的对话框窗体


EMailTestEventHandler

文件名

ema_mail.kb

语法

EMailTestEventHandler( REF emailTestData:EmailTestRec);

参数

emailTestData: 此对话框类型的实例数据

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序为“EMailTest”对话提供事件处理。注:此事件处理器的最后一个语句要将实例记录信息转移到整个模块的静态数据中,因此一定要避免使用“退出”,除非希望防止记录更新。

调用的对话框窗体


HandleDeleteBtn

文件名

ema_mail.kb

语法

HandleDeleteBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口类型的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中控件的操作。

调用的对话框窗体


HandleDumpBtn

文件名

ema_mail.kb

语法

HandleDumpBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW);

参数

emailTestData: 此窗口类型的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中控件的操作。

调用的对话框窗体


HandleGetreadBtn

文件名

ema_mail.kb

语法

HandleGetreadBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中控件的操作。

调用的对话框窗体


HandleGetUnreadBtn

文件名

ema_mail.kb

语法

HandleGetUnreadBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中控件的操作。

调用的对话框窗体


HandleListSelect

文件名

ema_mail.kb

语法

HandleListSelect(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


HandleLoginBtn

文件名

ema_mail.kb

语法

HandleLoginBtn( REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


HandleLogoutBtn

文件名

ema_mail.kb

语法

HandleLogoutBtn(VAL listBoxName:STRING, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


HandleReadBtn

文件名

ema_mail.kb

语法

HandleReadBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW );

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


HandleSendBtn

文件名

ema_mail.kb

语法

HandleSendBtn(REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW, VAL passNoDestination:BOOLEAN);

参数

emailTestData: 此窗口的实例数据

dlgHandle - 对话框的窗口句柄

passNoDestination: 忽略 GUI 中的输入字段

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


PerformAction

文件名

ema_mail.kb

语法

PerformAction( REF emailTestData:EmailTestRec, VAL dlgHandle:WINDOW, VAL controlName:STRING, VAL controlID:INTEGER );

参数

emailTestData: 此窗口的实例数据

dlgHandle: 对话框的窗口句柄

controlName: 所选控件的名称

controlID: 所选控件的编号标识

$EventParm(3,T): 对象的旧值

$EventParm(4,T): 对象的新值

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件测试”对话框中的控件操作。

调用的对话框窗体


PerformSelectAction

文件名

ema_mail.kb

语法

PerformSelectAction(VAL controlName:STRING, VAL controlID:INTEGER);

参数

controlName: 所选控件的名称

controlID: 所选控件的编号标识

$EventParm(3,T): 对象的旧值

$EventParm(4,T): 对象的新值

返回

1 = 成功

0 = 失败

副作用

说明

此例行程序执行“电子邮件注册”对话框中的控件操作。

调用的对话框窗体


StatusOfKMLMailCall

文件名

ema_mail.kb

语法

StatusOfKMLMailCall(REF emailData:EMailDataRec, VAL mailStatus:INTEGER );

参数

status: KML MAIL 读取返回状态码

返回

ERR_NONFATAL = 读取失败:能够继续

ERR_FATAL = 读取失败:不能继续

1 = 调用成功

副作用

说明

此函数试图将 KML MAIL 错误代码解释为“可恢复的”或“不可恢复的”。它不识别的所有代码都被假定为不可恢复的。

调用的对话框窗体


UpdateLoginDialog

文件名

ema_mail.kb

语法

UpdateLoginDialog( VAL mailSysType:INTEGER );

参数

mailSysType: 邮件系统类型

返回

副作用

说明

此例行程序启用/禁用所选邮件系统的适当字段并对其加以标记。

调用的对话框窗体


UpdateLoginFields

文件名

ema_mail.kb

语法

UpdateLoginFields(VAL dlgHandle:WINDOW, VAL emailData:EMailDataRec, VAL emailSystemType:INTEGER, VAL accountName:STRING, VAL accountPassword:STRING, VAL emailPostOffice:STRING, VAL emailServer:STRING, VAL emailContainer:STRING );

参数

返回

1

副作用

说明

如果单个注册数据字段的内容已更改,此函数会更新这些字段。

调用的对话框窗体


WriteMsgLns

文件名

ema_mail.kb

语法

WriteMsgLns(VAL str1:STRING, VAL str2:STRING);

参数

str: 输出字符串

返回

副作用

说明

此函数将一行消息写入测试对话界面中的状态消息字段。

调用的对话框窗体