使用JavaScript在HTA中发送电子邮件并隐藏发件人的电子邮件地址
问题描述:
我在使用HTA时有很多选项,现在我试图添加一个页面,允许您直接从HTA发送电子邮件而无需打开MS外表。使用JavaScript在HTA中发送电子邮件并隐藏发件人的电子邮件地址
我使用的是Outlook 2003中我尝试了两种方法来创建的电子邮件发送页面:
1.使用Outlook.Application ActiveX对象 -它没有工作,因为它似乎只与Outlook工作2007年,与此同时,我把它置之度外。
2.使用简单的HTML与'mailto:' -它发送简单的电子邮件工作正常,但我有一个问题,我无法解决。
在Outlook中我可以从所谓的“服务邮件”一个“假”的地址发送邮件(我只是把它写在“发件人”字段),因此客户将无法回复我的电子邮件。我也想在我的HTA页面上做,但我认为这个选项不存在。
有没有办法做到这一点?也许通过使用Outlook 2003的ActiveX对象并使用该对象执行此操作?
重要提示:我只能使用客户端语言,因为我没有服务器。
感谢, Rotem公司
答
我做在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();
这是一个本地网络中的所有客户端都安装了Outlook 2003中,是否正确? – 2010-12-06 23:20:04
如果您没有在标题中指定正确的“发件人:”,那么您将遇到一些投递问题。 – matthewpavkov 2010-12-06 23:23:32