使用CDO JavaScript错误发送邮件 - 服务器未定义

时间:2010-12-25 15:53:45

标签: javascript html smtp hta cdo.message

我有这个代码使用SMTP服务器发送电子邮件,我尝试了很多我在网上发现的配置,也是VBscript类似的代码,而且它没有用。

我想专注于这段代码,当我打开HTA时,我在第8行遇到错误,说'服务器未定义',我该怎么做才能定义它?

var cdoConfig = Server.CreateObject("CDO.Configuration"); 
cdoConfig.Fields("cdoSMTPServerName") = "194.90.9.22"; 

var cdoMessage = Server.CreateObject("CDO.Message"); 
cdoMessage.Configuration = cdoConfig; 

var cdoBodyPart = cdoMessage.BodyPart; 

cdoMessage.To = "aaa@gmail.com"; 
cdoMessage.From = "xxx@ddd.com"; 
cdoMessage.Subject = "CDO Test in JScript"; 
cdoMessage.TextBody = "This is a test email sent using JScript."; 
cdoMessage.send(); 

谢谢, ROTEM

2 个答案:

答案 0 :(得分:0)

Jan,您应该看到代码使用“Server”(VBS),是否推荐¿?

您可以查看:

  1. 您的服务器(运行代码)不允许发送(邮件转发)。
  2. Auth,。Item(cdoSMTPAuthenticate)= cdoAnonymous,你应该看看你的邮件服务器上是否有一些身份验证。
  3. 希望这有帮助,

答案 1 :(得分:0)

抱歉,延迟响应看起来像不是使用服务器ip,而是需要具体化服务器地址(例如smptout.secureserver.net),但用您的smpt地址替换,大多数smtp服务器也需要用户名和密码,因此您需要定义这些在您的代码中。 在vbs中会这样定义

Set emailConfig = emailObj.Configuration
emailConfig.Fields("smtpserver") = "your smtp address"
emailConfig.Fields("smtpserverport") = your smpt port
emailConfig.Fields("sendusing")= 2  
emailConfig.Fields("smtpauthenticate") = 1  
emailConfig.Fields("smtpusessl") = true/false "used for ssl" 
emailConfig.Fields("sendusername") = "your smtp username"
emailConfig.Fields("sendpassword") = "your smtp password"
emailConfig.Fields.Update

我不太了解js,因此无法转换vbs代码以在js中工作。我希望这会有所帮助