如果没有电子邮件客户端,通过VB6发送电子邮件

Urb*_*coz 2 email vb6

我有一个VB6应用程序,由大量客户使用.

我需要允许客户能够向我发送电子邮件.在过去,我使用Microsoft MAPI控件完成了此操作.但是,并非所有人都安装了电子邮件客户端,因为他们使用的是webmail.

是否有任何其他人可以推荐的方法可以让他们这样做?

Bob*_*b77 5

SMTP

如果我们做出一些假设,您可以使用CDO for Windows来执行此操作:

  • 您的用户都在Win2K或更高版本.
  • 用户永远不会在防火墙后面阻止SMTP或将所有SMTP端口使用代理到公司服务器.
  • 您有一个SMTP服务器,您有一个帐户,您可以让用户邮件发送.
  • 您在服务器程序中嵌入了服务器的地址和帐户凭据.

有时使用侦听备用端口的SMTP服务器将解决第二个问题,但通常更有可能阻止此类备用端口.

SMTP正在消亡

随着时间的推移滥用使得自动/辅助用户联系的SMTP越来越不可行.尝试为SMTP通信打开某种"明确的通道"涉及太多变量,因为人们更加努力地打击垃圾邮件发送者等等.

今天,我更有可能使用WebDAV或Web服务.两者都使用HTTP/HTTPS,它更有可能通过防火墙,并且通常也可以通过大多数代理服务器获得.WebDAV在这方面通常比Web服务更"滑",Web服务越来越多的代理人正在为此而烦恼.您还可以使用比SOAPy更RESTful的东西,因为流量"更像是"用户浏览到代理服务器.

WebDAV是一个干净的选择

甚至还有免费的 WebDAV提供商,提供2GB的存储空间,主用户和访客用户.可以为来宾帐户授予对各种文件夹的有限权限,以便他们可以将您的消息发布到其他文件夹,从其他文件夹中获取数据(只读文件夹)等.对于付费帐户,您可以获得更多存储空间,其他用户等.

这很好用.您甚至可以使用相同的托管程序版本文件,要下载和安装的新版本代码等等.您需要的所有内容都是一个聚合器程序,用于挖掘用户发布的消息并使用主用户/ pw删除它们.

您仍然需要在程序中嵌入用户凭据,但随着时间的推移更改密码可能更为简单.只需让程序获取一个带有新密码和生效日期的信息文件,并让程序在该日期或之后运行"新"密码为"当前".

Windows中的WebDAV支持各不相同.从WinXP SP3转发,您可以简单地以编程方式将驱动器号映射到WebDAV共享,然后对其使用常规文件I/O语句,并在完成后取消映射该字母.为了更加通用甚至Win9x,您可以在XMLHTTPRequest之上构建一个简单的WebDAV客户端或使用第三方库.

Web服务具有更高的成本

首先,您需要编写和维护服务器端代码,并且必须使用特定类型的托管.例如,如果使用PHP构建它,则需要PHP主机,ASP作为ASP主机,ASP.Net作为ASP.Net主机等.

在版本控制方面,Web服务也可能更成问题.如果您稍后更新程序以在这些用户联系人帖子中提供不同的信息,则必须创建另一个Web服务以及更改应用程序和聚合器.使用WebDAV,您只需在服务器上创建一个"新格式"文件夹,让新程序以新格式发布数据.您的聚合器可以简单地从两个文件夹中提取并执行任何必要的重新格式化为新的本地数据库/消息存储库格式.

这只是一个额外的增量工作,而Web服务可能就是这样,即使它只是像HTML Form GET/POST接受器那样编写的东西.