# Object - IMAP 邮件收取 ## `IMAP` 声明:class IMAP 内置对象 ### `create(host, user_name, password)` 声明:function 创建 IMAP 实例 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从IMAP配置文件里获取其他相应参数 | | `user_name` | string | 可选。字符串类型,用户名 | | `password` | string | 可选。字符串类型,密码。如果该参数不指定,而指定了HOST,USERNAME参数,则在POP3配置文件里获取密码 | ### `appendMessage(folder_name)` 声明:function 添加邮件至指定文件夹 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 目标文件夹名称 | 返回:boolean ### `capa()` 声明:function 获取服务器的支持命令列表 可见性:public 返回:string #### 示例 ```tsl //创建imap对象 imapObj := new imap("imap.tinysoft.com.cn", "username", "password"); imapObj.Login(); ret := imapObj.CAPA(); imapObj.Logout(); return ret; ``` ### `checkMessages(folder_name)` 声明:function 查看邮箱文件夹邮件数量 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 可选。邮箱文件夹名称;若未指定,默认获取收件箱中的邮件数量 | 返回:integer ### `copyMessage(folder_name)` 声明:function 复制邮件至目标文件夹 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 源文件夹名称 | 返回:boolean ### `createFolder(folder_name)` 声明:function 新建邮箱文件夹 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 文件夹名称 | 返回:boolean #### 示例 ```tsl //创建imap对象 imapObj := new imap("imap.tinysoft.com.cn", "username", "password"); imapObj.Login(); ret := imapObj.CreateFolder("IMAP_Test");//创建IMAP_Test文件夹 imapObj.Logout(); return ret;//创建成功,返回1 ``` ### `deleteFolder(folder_name)` 声明:function 删除指定邮件文件夹 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 要删除的邮箱文件夹名称 | 返回:boolean ### `keepAlive()` 声明:function 发送空指令保持服务的连接 可见性:public 返回:any ### `listFolders(reference, mail_box)` 声明:function 获取邮箱文件夹的列表信息 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `reference` | string | 查询参考,即邮箱前缀,如"mybox/"、"mybox"等 | | `mail_box` | string | 邮箱名称,可带*或%通配符,如"*"、"sub*"等,默认"*" | 返回:array #### 示例 ```tsl //创建imap对象 imapObj := new imap("imap.tinysoft.com.cn", "username", "password"); imapObj.Login(); ret := imapObj.ListFolders("","INBOX"); imapObj.Logout(); return ret; ``` ### `login()` 声明:function 登录,调用前必须先设置Host、Port、Username、Password属性 可见性:public 返回:any ### `logout()` 声明:function 退出登录 可见性:public 返回:any ### `renameFolder(folder_name, new_folder_name)` 声明:function 重命名邮箱文件夹 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | string | 原邮箱文件夹名称 | | `new_folder_name` | string | 新邮箱文件夹名称 | 返回:boolean ### `retrieveMailBoxSize(folder_name)` 声明:function RetrieveMailBoxSize 可见性:public | 参数 | 类型 | 说明 | | --- | --- | --- | | `folder_name` | any | folder_name | 返回:integer ### `AuthType` 声明:property 认证类型,0:明文用户密码,1:MD5,2:SASL认证,-1:自定义认证 可见性:public 类型:integer 访问:read/write ### `AuthTypeString` 声明:property 自定义认证类型,仅当 AuthType 设置为-1时有效;设置为"AUTH=*":自动选择服务器支持的认证类型;多个用分号连接 可见性:public 类型:string 访问:read/write ### `Host` 声明:property 主机名称或地址 可见性:public 类型:string 访问:read/write ### `LastCmdResult` 声明:property 最后的命令执行结果 可见性:public 类型:string 访问:read ### `LastCmdResultCode` 声明:property 最后的命令执行的返回码 可见性:public 类型:string 访问:read ### `Password` 声明:property 密码 可见性:public 类型:string 访问:read/write ### `Port` 声明:property 主机端口 可见性:public 类型:integer 访问:read/write ### `Username` 声明:property 用户名 可见性:public 类型:string 访问:read/write ### `UseSTARTTLS` 声明:property 是否使用显式 TLS(即 STARTTLS 加密协议) 可见性:public 类型:boolean 访问:read/write ### `UseTLS` 声明:property 是否采用SSL连接 可见性:public 类型:boolean 访问:read/write