2010-12-06 113 views
2

我在使用HTA时有很多选项,现在我试图添加一个页面,允许您直接从HTA发送电子邮件而无需打开MS外表。使用JavaScript在HTA中发送电子邮件并隐藏发件人的电子邮件地址

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

1.使用Outlook.Application ActiveX对象 -它没有工作,因为它似乎只与Outlook工作2007年,与此同时,我把它置之度外。

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

在Outlook中我可以从所谓的“服务邮件”一个“假”的地址发送邮件(我只是把它写在“发件人”字段),因此客户将无法回复我的电子邮件。我也想在我的HTA页面上做,但我认为这个选项不存在。

有没有办法做到这一点?也许通过使用Outlook 2003的ActiveX对象并使用该对象执行此操作?

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

感谢, Rotem公司

+0

这是一个本地网络中的所有客户端都安装了Outlook 2003中,是否正确? – 2010-12-06 23:20:04

+0

如果您没有在标题中指定正确的“发件人:”,那么您将遇到一些投递问题。 – matthewpavkov 2010-12-06 23:23:32

回答

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  = "[email protected]" 
    .From  = "[email protected]" 
    .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  = "[email protected]"; 
mailobj.From  = "[email protected]"; 
mailobj.TextBody = "The body of the email"; 
mailobj.Configuration.Fields.Update(); 
mailobj.Send(); 
相关问题