2011-03-01 188 views
2

我有一个由大量客户端使用的VB6应用程序。如果没有电子邮件客户端通过VB6发送电子邮件

我需要让客户能够发送电子邮件给我。在过去,我使用Microsoft MAPI控件完成了这项工作。但是,并非所有人都安装了电子邮件客户端,因为他们使用网络邮件。

是否有任何其他方法可以推荐哪些人允许他们这样做?

+1

这看起来像那种事情:http://www.freevbcode.com/ShowCode.Asp?ID=109。任何人使用它? – Urbycoz 2011-03-01 15:53:13

+1

重复此[关于通过SMTP发送电子邮件从VB6](http://stackoverflow.com/questions/3539242/sending-e-mail-via-smtp-using-vb6) – MarkJ 2011-03-01 21:03:35

+0

可能重复[发送电子邮件通过VB6(http://stackoverflow.com/questions/5517217/sending-an-email-through-vb6) – Deanna 2013-05-17 11:40:05

回答

5

SMTP

您可以使用CDO for Windows来做到这一点,如果我们做一些假设:

  • 您的用户都在Win2K或更高版本。
  • 用户将永远不会阻止SMTP或代理所有SMTP端口用于企业服务器。
  • 你有一个SMTP服务器,你有一个帐户,你可以让用户邮件发送。
  • 您将服务器的地址和帐户凭据嵌入到您的程序中。

有时使用监听备用端口的SMTP服务器将解决第二个问题,但通常这样的备用端口更可能被阻塞。

SMTP是垂危

滥用随着时间的推移作出SMTP用于自动/辅助用户接触少可行的。试图为SMTP通信打开某种“清晰频道”涉及太多变数,因为人们更努力地对付垃圾邮件发送者等。

今天我会更有可能为此使用WebDAV或Web服务。两者都使用HTTP/HTTPS,它们很可能会越过防火墙,并且通常也可以通过大多数代理服务器获得。 WebDAV通常比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 Service以及更改应用程序和聚合器。使用WebDAV,您可以在服务器上创建一个“新格式”文件夹,让新程序以新格式发布数据。您的聚合器可以简单地从两个文件夹中提取数据,并将其重新格式化为新的本地数据库/消息存储库格式。

这只是虽然增量额外的努力和Web服务可能是要走的路,哪怕只是写东西像一个HTML表单GET/POST受体。

+0

多么详尽的解释。非常感激。 – Urbycoz 2011-03-02 08:49:24

相关问题