我试图了解经典ASP或命令行VBScript应用程序无法发送电子邮件的方式。以下脚本基于各种来源。当我尝试在Windows 7 VM上从命令行/命令行运行它时,出现错误
CDO.Message.1:“ SendUsing”配置值无效。
事实是,我写的脚本是从旨在解决该错误的示例开始的!有什么建议吗?
Dim fso, stderr, inX, mail, buf, schemaNode
Set fso = CreateObject("Scripting.FileSystemObject")
Set StdErr = fso.GetStandardStream(2)
Set mail = CreateObject("CDO.Message")
schemaNode = "http://schemas.microsoft.com/cdo/configuration/"
With mail.Configuration.Fields
.Item(schemaNode & "sendusing") = 2 'Send the message using the network (SMTP)
.Item(schemaNode & "smtpserver") = "my/mail/server"
.Item(schemaNode & "smtpserverport") = 25
.Item(schemaNode & "smtpserverpickupdirectory") = "C:\TEMP"
End With
buf = ""
mail.From = "noreply@my/domain"
mail.To = "some/user@my/domain"
mail.Subject = "Test - via VBScript - " & fso.getTempName()
Set inX = fso.OpenTextFile("template.txt", 1)
Do While inX.AtEndOfStream = False
buf = buf & inX.ReadLine
Loop
mail.TextBody = buf
mail.Send()
StdErr.WriteLine("OK.")
您永远不会将更改应用于邮件配置。此外,使用收件目录仅与通过收件(即,将邮件(文件)放置在邮件服务器从中拾取邮件的目录中)提交到本地邮件服务器有关,而与通过SMTP提交邮件无关。
更改此:
With mail.Configuration.Fields
.Item(schemaNode & "sendusing") = 2
.Item(schemaNode & "smtpserver") = "my/mail/server"
.Item(schemaNode & "smtpserverport") = 25
.Item(schemaNode & "smtpserverpickupdirectory") = "C:\TEMP"
End With
到这个:
With mail.Configuration.Fields
.Item(schemaNode & "sendusing") = 2
.Item(schemaNode & "smtpserver") = "my/mail/server"
.Item(schemaNode & "smtpserverport") = 25
.Update
End With
问题就会消失。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句