数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
PB应用中收发电子邮件

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在PB应用中收发电子邮件

---- 随 着Internet 进 入 千 家 万 户, 通 过Internet 收 发 电 子 邮 件 将 成 为 人 们 最 受 欢 迎 的 通 讯 手 段 之 一。 如 果 我 们 的 应 用 程 序 也 能 够 提 供 收 发 电 子 邮 件 的 功 能, 就 可 以 使 我 们 方 便 快 捷 地 与 他 人 交 换 和 共 享 应 用 的 数 据 和 信 息, 使 其 应 用 真 正 地 溶 合 于Internet 这 个 大 环 境。 下 面 我 介 绍 一 下 在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("邮件登录","邮件登录失败!")
  return
end if
//弹出邮件地址窗口,获取邮件接收者的地址
mreturn = mses.mailaddress(mmsg)
if mreturn <> mailreturnsuccess! then
  messagebox("邮件地址","邮件地址出错!")
  return
end if
//退出登录
mses.maillogoff()
//取消邮件会话
destroy mses

---- 三、 执 行 程 序。 正 常 执 行 程 序 的 前 提 是, 在Powerbuild 应 用 所 在 的 机 器 上 已 装 有Microsoft Mail 客 户 软 件。

---- 1. 单 击“ 接 收 邮 件” 菜 单 项 或 工 具 图 标, 执 行 接 收 邮 件 处 理 程 序。 该 程 序 将 最 后 接 收 到 尚 未 读 过 的 邮 件 内 容 显 示 到 窗 口 的 多 行 编 辑 器 中。

 如 果 把mreturn = mses.mailgetmessages(true) 改 为:
mreturn = mses.mailgetmessages()
 便 可 获 得 全 部 邮 件( 包 含 已 读 过 的 邮 件)。

---- 2. 单 击“ 发 送 邮 件” 菜 单 项 或 工 具 图 标, 执 行 发 送 邮 件 处 理 程 序。 该 程 序 执 行 过 程 中, 弹 出 地 址 簿 窗 口, 在 你 选 择 好 接 收 者 后, 则 将 窗 口 的 多 行 编 辑 器 中 的 内 容 发 送 出 去。

---- 3. 单 击“ 地 址 簿” 菜 单 项 或 工 具 图 标, 执 行 地 址 簿 处 理 程 序。 该 程 序 弹 出 通 讯 簿 窗 口, 供 你 增 加、 编 辑 或 删 除 邮 件 地 址 属 性。

 



相关文章

相关软件