Email 检查Volusion Windows server是否支持CDO电子邮件

Email 检查Volusion Windows server是否支持CDO电子邮件,email,asp-classic,cdo.message,volusion,Email,Asp Classic,Cdo.message,Volusion,我正在尝试使用CDO通过Volusion Windows服务器发送电子邮件。我编写的ASP脚本在GoDaddy Windows服务器上运行良好,因此我知道该脚本是正确的,但无法通过Volusion工作。在这个脚本中,我使用了GoDaddy的中继托管.secureserver.netSMTP服务器来发送电子邮件,它在GoDaddy服务器上工作得很好,但在Volusion上却没有 我尝试了几个SMTP服务器。Volusion在此处提供有关其邮件服务器的文档: https://support.volu

我正在尝试使用CDO通过Volusion Windows服务器发送电子邮件。我编写的ASP脚本在GoDaddy Windows服务器上运行良好,因此我知道该脚本是正确的,但无法通过Volusion工作。在这个脚本中,我使用了GoDaddy的
中继托管.secureserver.net
SMTP服务器来发送电子邮件,它在GoDaddy服务器上工作得很好,但在Volusion上却没有

我尝试了几个SMTP服务器。Volusion在此处提供有关其邮件服务器的文档:

https://support.volusion.com/article/connecting-my-volusion-e-mail-account
我在脚本中尝试了使用SSL和不使用SSL的SMTP服务器(还尝试了所有不同的端口)

我想知道Volusion服务器是否不支持使用CDO发送电子邮件?有没有一种方法可以检查服务器是否支持CDO,而无需访问cPanel、WHM或任何核心文件?使用Volusion,它们只允许您访问FTP的一部分

谢谢你的帮助

编辑 以下是我使用的代码:


显然,我在运行代码时已经更新了这些电子邮件地址

编辑 要回答评论中的问题,我的服务器版本是:


Microsoft IIS/6.0

要回答您的初始问题,请说明如何检查CDO是否受支持

下面是一个快速检查
所需对象
错误(或在实例化CDO COM对象时出现的任何错误)的示例

支持Dim cdo
出错时继续下一步
呃,明白了
设置cdo=Server.CreateObject(“cdo.Configuration”)
是否受支持=(错误号0)
错误转到0
如果支持,则
呼叫响应。写入(“支持CDO”)
其他的
呼叫响应。写入(“不支持CDO”)
如果结束

在谷歌上四处搜索

在评论了几次之后,我决定深入研究(必须承认我没有遇到过一个),在谷歌上快速搜索后发现了这个链接

引用自

提供了一个特殊的ASP类,用于Volusion的内置发送邮件组件VSMTP

您可以使用此类使用ASP为您的商店创建自己的发送邮件解决方案。请注意,本文中提供的信息面向高级用户。此解决方案提供了通过Volusion标准的基于POP或基于webmail的解决方案发送电子邮件的替代方案

如果您使用的是Volusion的标准电子邮件托管资源(POP、IMAP或Webmail),则无需更新商店或帐户中的任何功能

要在Volusion存储中使用VSMTP组件,您需要

根据尝试实例化CDO组件时出现的
所需对象
ASP组件错误判断,我认为Volusion服务器不支持CDO

下面是一个使用VSMTP ASP类的简单示例


您最好的选择是调整现有脚本以使用Volusion支持的这个VSMTP定制类

查看VSMTP ASP类,它看起来像是一个简单的包装器,可以
POST
到ASP端点(
VSMTP.ASP

0那么
错误:Raise 512,“vsmtp.AddAttachment”,“附件路径无效”
如果结束
如果我是空的(附件),那么
附件=文件路径
其他的
附件=附件&“,”和文件路径
如果结束
端接头
公共子发送()
暗淡的HTTPRequest
设置HTTPRequest=CreateObject(“WinHTTP.WinHTTPRequest.5.1”)
HTTPRequest.Open“POST”、“http://”和Request.ServerVariables(“LOCAL_ADDR”)和“/vsmtp.asp”,False
HTTPRequest.SetRequestHeader“内容类型”、“应用程序/x-www-form-urlencoded”
HTTPRequest.SetRequestHeader“主机”,Request.ServerVariables(“服务器名称”)
HTTPRequest.Send_
“VsmtpKey=“&Server.URLEncode(VsmtpKey))&_
“&Subject=“&Server.URLEncode(EmailSubject)&_
“&FromEmailAddress=“&Server.URLEncode(EmailFrom))&_
“&ToEmailAddress=“&Server.URLEncode(EmailTo)&_
“&Body_HTML=“&Server.URLEncode(HTMLBody)&_
“&Body_TextOnly=“&Server.URLEncode(TextBody)&_
“&Attachment_CSV=“&Server.URLEncode(附件)
如果HTTPRequest.ResponseText为“True”,则
设置HTTPRequest=Nothing
错误。引发8,“vsmtp.Send”,“无法发送电子邮件。有关详细信息,请查看日志。”
如果结束
设置HTTPRequest=Nothing
端接头
末级
%>

简短回答,您不能。您将收到一条错误消息,说明
访问被拒绝
。VSMTP是直接从Volusion发送电子邮件的唯一替代方法,但是,您只能从他们的SMTP服务器发送电子邮件,并且选项(例如标题)仅限于提供的选项。

您可以创建
Server.CreateObject吗(“CDO.信息”)
?如果可以,CDO已注册为COM并可通过使用。您需要编辑您的问题并发布您正在使用的代码。您好@Lankymart,我刚刚将我成功使用的代码放在上面作为参考。所以您说它不起作用,以什么方式使用?例如,您是否收到错误或电子邮件从未发送过?代码看起来不错(尽管我会特别将邮件服务器端口设置为25,并使用server.CreateObject代替CreateObject)。知道您使用的是哪个windows server版本/IIS版本吗?(如果不知道,请尝试输出Request.ServerVariables(“服务器\软件”))此外,正如Lankymart所建议的,请尝试使用错误处理来查找确切的故障点(错误继续下一步+如果err.number 0然后:response.write err.number&“-”&err.Description:end if)啊哇,我从来没有看到过那篇文章,甚至在我搜索谷歌时也看不到。我一定不知道正确的搜索词。我现在正在浏览这篇文章。只是好奇,你搜索了什么来找到那篇文章?