我正在使用经典ASP生成CDO电子邮件。我在三个不同的主机上使用完全相同的代码。它在两台主机上运行正常,但在第三台主机上,它在收到的电子邮件正文中显示以下文字:
"boundary="----=_NextPart_000_000E_01CEC5FC.A5E71B60"
X-Mailer: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4913
This is a multi-part message in MIME format.
------=_NextPart_000_000E_01CEC5FC.A5E71B60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit"
我在Outlook中收到的消息中看到了这一点。在Gmail网络界面中,它会将此文本和电子邮件正文放在附件中。在我的手机上,这条消息看起来不错。
如果我使用TextBody而不是HTMLBody,系统可以正常工作。
托管公司过去两天都试图解决问题,但一直无法解决。我从他们那里得到的最后一条消息是“CDO在我们的服务器上工作正常。但是,要发送HTML电子邮件的正确CDO脚本,您可以联系您的Web开发人员。”这不是很有用,因为相同的代码在我的其他两台主机上运行良好。
以下是生成代码:
Dim objMail, objMailConf
Set objMail = Server.CreateObject("CDO.Message")
Set objMailConf = Server.CreateObject("CDO.Configuration")
objMailConf.Fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMailConf.Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\inetpub\mailroot\pickup"
objMailConf.Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objMailConf.fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMailConf.Fields.item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
objMailConf.Fields.Update
Set objMail.Configuration = objMailConf
objMail.From = "Someone@gmail.com"
objMail.To = "Someone@gmail.com"
objMail.Cc = "Someone@gmail.com"
objMail.Subject = "Test Web Input"
objMail.htmlBody = EmailMessage
objMail.Fields.Update
objMail.Send
Set objMail = Nothing