---- 随 着inte.net 进 入 千 家 万 户, 通 过inte.net 收 发 电 子 邮 件 将 成 为 人 们 最 受 欢 迎 的 通 讯 手 段 之 一。 如 果 我 们 的 应 用 程 序 也 能 够 提 供 收 发 电 子 邮 件 的 功 能, 就 可 以 使 我 们 方 便 快 捷 地 与 他 人 交 换 和 共 享 应 用 的 数 据 和 信 息, 使 其 应 用 真 正 地 溶 合 于inte.net 这 个 大 环 境。 下 面 我 介 绍 一 下 在powerbuild 应 用 中 实 现 收 发 电 子 邮 件 的 方 法。
---- 在powerbuild 应 用 中 实 现 收 发 电 子 邮 件, 主 要 是 通 过powerbuild 系 统 提 供 的 一 套 用 于 邮 件 操 作 的 内 嵌 函 数。 这 些 函 数 实 现 其 应 用 到 微 软 公 司 的mapi(message application program interface) 标 准 之 间 的 接 口。
---- 一、 作 为 举 例, 创 建 一 个mdi 风 格 的 窗 口w_mail。 在 这 个 窗 口 上, 放 置 一 个 含 接 收 邮 件、 发 送 邮 件 和 地 址 薄 三 个 带 图 标 的 菜 单 项 的 菜 单m_mail, 一 个 多 行 编 辑 器mle_1。 整 个 窗 口 的 外 观 如 下:
---- [ 图 略]
---- 二、 为 各 菜 单 项 编 制 事 件(event) 处 理 程 序(script)。 程 序 行 中// 后 的 为 说 明 文 字。
---- 1. 在 菜 单 项“ 接 收 邮 件” 的 单 击(clicked) 事 件 下 输 入 下 面 程 序:
mailsession mses
file://定义对象mses,以供在程序中引用
mailmessage mmsg
//定义结构mmsg,此结构用于描述邮件的内容
mailrecipient mrec
//定义结构mrec,它标识邮件的接收者和发送者
mailreturncode mreturn
//定义返回码,用于存放函数的返回值
int mnbr
//定义临时变量
//产生邮件会话对象mses
mses = create mailsession
//邮件登录。此处用户名,口令缺省
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! then
messagebox("邮件登录","邮件登录失败!")
return
end if
//获得接收到尚未读过的邮件id号。
它是放在mses中的一个字符串数组
mreturn = mses.mailgetmessages(true)
if mreturn <> mailreturnsuccess! then
messagebox("邮件获取","邮件获取失败或无新邮件!")
return
end if
//获得接收到尚未读过的邮件数目
mnbr = upperbound(mses.messageid[])
file://读取最后接收到的邮件内容。
它被放在mmsg的notetext的字符串字段中
mses.mailreadmessage(mses.messageid[mnbr],
mmsg,mailentiremessage!,true)
//把获得的邮件内容放到窗口w_mai1上的多行编辑器mle_1中
w_mai1.mle_1.text=mmsg.notetext
//退出登录
mses.maillogoff()
//取消邮件会话
destroy mses
---- 2. 在 菜 单 项“ 发 送 邮 件” 的 单 击(clicked) 事 件 下 输 入 下 面 程 序:
mailsession mses
mailmessage mmsg
mailreturncode mreturn
//产生邮件会话对象mses
mses = create mailsession
//邮件登录
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! then
messagebox("邮件登录","邮件登录失败!")
return
end if
//弹出邮件地址窗口,获取邮件接收者的地址。
地址及名字是放在mmsg中的一 个结构数组
mreturn = mses.mailaddress(mmsg)
if mreturn <> mailreturnsuccess! then
messagebox("邮件地址","邮件地址出错!")
return
end if
//把窗口w_mai1上的多行编辑器mle_1
中的内容放到mmsg的notetext字段中
mmsg.notetext = w_mai1.mle_1.text
//发送邮件
mreturn = mses.mailsend(mmsg)
if mreturn <> mailreturnsuccess! then
messagebox("邮件发送","邮件发送失败!")
return
else
messagebox("邮件发送","邮件发送成功!")
end if
//退出登录
mses.maillogoff()
//取消邮件会话
destroy mses
---- 3.在菜单项“地址簿”的单击(clicked)事件下输入程序:
mailsession mses
mailmessage mmsg
mailreturncode mreturn
//产生邮件会话对象mses
mses = create mailsession
//邮件登录
mreturn = mses.maillogon(mailnewsession!)
if mreturn <> mailreturnsuccess! then
messagebox("邮件登录","邮件登录失败!")
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器