为什么当我在 Classic ASP 中使用 CDO 发送电子邮件时,我得到的是 ñ 而不是 ñ?
Why when I'm sending emails with CDO in Classic ASP I get ñ instead of ñ?
我在 IIS 8.5 和 Windows 8.1 中使用 CDO 在经典 ASP 中发送电子邮件时遇到问题,问题发生在拉丁字符上,例如 ñ áéíóúü 等。例如,如果我将ñ 在正文中的主题 and/or 我得到了 ñ.
这是我的代码:
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "the-pwd-123"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "utf-8"
'.BodyPart.Charset = "unicode-1-1-utf-8"
.To = "<email@gmail.com>"
.From = "<email2@gmail.com>"
.Subject = "Envio de contraseña"
.TextBody = "This email has a ñ to see how it looks when sending email through CDO"
.Send
End With
邮箱的配置是UTF8,请问是哪里出了问题,请问如何解决?
首先,尝试将其添加到页面顶部
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
。
此外,由于您的 ñ 是硬编码的,因此请使用 UTF-8 编码保存文件。如果您在记事本(或 VS 以外的任何编辑器)中打开它并 select 另存为,您应该会在出现的对话框中看到一个编码下拉列表。
请参阅此处了解更多信息。 http://www.hanselman.com/blog/InternationalizationAndClassicASP.aspx
我在 IIS 8.5 和 Windows 8.1 中使用 CDO 在经典 ASP 中发送电子邮件时遇到问题,问题发生在拉丁字符上,例如 ñ áéíóúü 等。例如,如果我将ñ 在正文中的主题 and/or 我得到了 ñ.
这是我的代码:
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "the-pwd-123"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "utf-8"
'.BodyPart.Charset = "unicode-1-1-utf-8"
.To = "<email@gmail.com>"
.From = "<email2@gmail.com>"
.Subject = "Envio de contraseña"
.TextBody = "This email has a ñ to see how it looks when sending email through CDO"
.Send
End With
邮箱的配置是UTF8,请问是哪里出了问题,请问如何解决?
首先,尝试将其添加到页面顶部
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
。
此外,由于您的 ñ 是硬编码的,因此请使用 UTF-8 编码保存文件。如果您在记事本(或 VS 以外的任何编辑器)中打开它并 select 另存为,您应该会在出现的对话框中看到一个编码下拉列表。
请参阅此处了解更多信息。 http://www.hanselman.com/blog/InternationalizationAndClassicASP.aspx