2

我正在使用具有许多选项的 HTA,现在我正在尝试添加一个页面,该页面允许您直接从 HTA 发送电子邮件而无需打开 MS Outlook。

我使用的是 Outlook 2003。我尝试了两种方法来创建电子邮件发送页面:

1. 使用 Outlook.Application ActiveX 对象 -它不起作用,因为它似乎只适用于 Outlook 2007,所以同时我把它排除在外。

2. 将简单的 HTML 与“mailto:”一起使用 -发送简单的电子邮件可以正常工作,但我有一个无法解决的问题。

在 Outlook 中,我可以从名为“服务邮件”的“虚假”地址发送电子邮件(我只是将其写在“发件人”字段中),因此客户将无法回复我的电子邮件。我也想在我的 HTA 页面中执行此操作,但我认为此选项不存在。

有什么办法吗?也许通过对 Outlook 2003 使用 ActiveX 对象并使用该对象进行操作?

重要提示:我只能使用客户端语言,因为我没有服务器。

谢谢, 罗特姆

4

1 回答 1

1

我在 VBScript 中制作了一个发送电子邮件的 HTA。它直接连接到邮件服务器。您不需要安装 Outlook(或任何其他电子邮件客户端),因此它非常有用。使用这样的东西:

With CreateObject("CDO.Message")
  .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com"
  .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2
  .Subject  = "The subject line"
  .To       = "recipient@email.com"
  .From     = "sender@email.com"
  .TextBody = "The body of the email"
  ' or .CreateHTMLbody "page.htm"
  .AddAttachment "C:\path\to\file.txt"
  .Send
End With

...你明白了。

编辑:刚刚看到这个请求是专门针对javascript的,但它本质上是一样的:

var mailobj = Server.CreateObject("CDO.Message");
mailobj.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com";
mailobj.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2;
mailobj.Subject  = "The subject line";
mailobj.To       = "recipient@email.com";
mailobj.From     = "sender@email.com";
mailobj.TextBody = "The body of the email";
mailobj.Configuration.Fields.Update();
mailobj.Send();
于 2010-12-22T23:39:57.490 回答