我在使用HTA时有很多选项,现在我正在尝试添加一个页面,允许您直接从HTA发送电子邮件而无需打开MS Outlook。
我正在使用Outlook 2003.我尝试了两种方法来创建电子邮件发送页面:
1。使用Outlook.Application ActiveX对象 - 它不起作用,因为它似乎只适用于Outlook 2007,所以同时我把它排除在外。
2。使用带有'mailto:'的简单HTML - 发送简单的电子邮件工作正常,但我遇到了一个我无法解决的问题。
在Outlook中,我可以从名为“服务邮件”的“虚假”地址发送电子邮件(我只是在“发件人”字段中写入),因此客户将无法回复我的邮件电子邮件。我想在我的HTA页面中也这样做,但我认为这个选项不存在。
有没有办法呢?也许通过使用Outlook 2003的ActiveX对象并使用该对象进行操作?
重要提示:我只能使用客户端语言,因为我没有服务器。
谢谢, ROTEM
答案 0 :(得分: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();