VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - vb设计数据库电子邮件程序(1)
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:9371, 日期:2001-06-14
vb设计数据库电子邮件程序
crystal编译

--------------------------------------------------------------------------------
  问题的产生

  Interface Technologies (ITI)的CodeVizor工作组正在努力使他们的新工具引起程序员的注意。在先前的数个月里,成千上万的程序员注册成为ITI注释:s DevCentral的一员,以更方便的试用它们的产品。作为注册的一部份,注册者被询问到他们是否希望得到产品的更新及新产品发布的消息。几乎所有的注册者都希望如此。

  因此,工作团队决定向所有六千名注册用户发送一封个人电子邮件信息(当然得除开那些没有留联系EMail的用户)。但是这就出现了个问题:如果是发群体信件,则就违背了发个人邮件的初衷。我们希望的是发往注册用户的邮件是个人化的。因此,我们就得找出一种解决办法,使得发向6000名注册用户的群体邮件是完全个人的,保密的。

  目的

  我的工作则是写出一个程序,使得它能够进入到DevCentral的注册用户的SQL Server数据库里,然后为每个用户生成一封电子邮件(通过Exchange/Outlook)。

  该程序会将待发的EMail保存至outlook,因此就可以组织邮件发送的过程。最好是小批量发送电子邮件,一次发送500封比较合适。这样就可以令到使用者将错误率降到最低,同样也可以降低服务器的负担,加快网络连接速度。同样我们需在邮件上加上回复地址,这样邮件则可以从DevCentral的邮箱里发出,而不是个人的邮箱。

  以下将是创建该程序的主要步骤

  使用工具及使用目的

  通过使用Visual Basic 5.0写出该EmailMaker。该应用程序通过ODBC来进入数据库,并使用VB automation调用Microsoft Outlook以生成电子邮件文本。

  最开始的目的本来在于设计出一个简单的基于对话项的程序,使之通过点击按钮就可以完成所有的步骤。但是,这也涉及到了更为多的内容:不但会使得该程序在使用上更为灵活,在功能上也更为强大,也会使我更多的了解VB,比如:combobox控件,属性栏,自定义图标,progress栏,多样化窗口,甚至于非常简单的文件保存及文件格式。因此我努力的将这些分散的VB程序应用知识积累起来,使之能成为一个"真正的程序"

  EmailMaker使得用户可以通过数据库向地址列表发送个人化邮件。通过Message Window用户可以书写,编辑并保存邮件内容(同样也可以从其它文本编辑器或文档内复制-粘贴内容)

  完成内容书写及保存后,用户则可以开始单个生成标有地址的邮件。当群体邮件位于指定文件夹里时,Send Email 功能则会要求用户分发全体或一部份邮件。

  问题及解决方案

  开发此程序最大的难点在于Properties form.。

  开发此程序的目标之一在于让所有程序的选项来自combobox中,这样可以更便于安装及使用。我做的非常成功除了一个property(Address Sent From,以下我将会提及)。但是,最重要的一个属性包含了数据库及注册的调用功能,因为程序本身需要鉴别用户的数据库及邮件配置,常通过API来鉴别安装了何种ODBC数据库。