在经典ASP中使用HTMLBody(可以使用TextBody)的CDOSYS错误

时间:2011-10-16 23:02:32

标签: asp-classic cdo.message

我在IIS 7.5上遇到了带有HTMLBody的CDOSYS问题 简单来说,这不起作用:

Set Mail = CreateObject("CDO.Message")
With Mail
    .Subject = "My mail test"
    .From = "me@localhost"
    .To = "myrealmail@mydomain.com"
    .HTMLBody = "My body message"
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
    .Configuration.Fields.Update
    .Send
End With
Set Mail = Nothing

并抛出一个神奇的“CDO.Message.1错误'80040605'未知错误'

.HTMLBody = "My body message"

如果我用

更改它没问题
.TextBody = "My body message"

拜托,您有解决方案吗?
提前致谢

1 个答案:

答案 0 :(得分:5)

找到某种解决方案,虽然它并不理想。 CDO应该能够自动生成HTMLBody的纯文本版本,但最近的MS更新可能已经破坏了它。

似乎以前我可以省略TextBody属性,只是指定HTMLBody,现在我必须做以下两件事之一:

a)指定TextBody。 TextBody =“”不起作用,它必须是> “”

b)指定AutoGenerateTextBody = False

执行这些操作中的任何一个都会解决错误,但会导致无文本版本,或者必须自行创建,这很糟糕。不知道这个问题什么时候开始,但是afaik曾经能够单独指定HTMLBody,没有问题。荡。