我正在使用CDO.Message
ASP Classic 网站上的联系表单向网站所有者发送电子邮件。该网站是希伯来语的,我已经用UTF-8
.
我的问题是,在 Outlook 2007 中,从表单发送的希伯来语出现乱码。电子邮件中的其他希伯来语文本(即硬编码文本)正确显示。
我在 Outlook 2010 和 Gmail 在线查看了这些电子邮件,所有希伯来语看起来都很好。
当然,我的客户有 Outlook 2007,而且不太可能很快改变。
有谁知道我该如何解决这个问题?
这是发送电子邮件的脚本:
Const CdoReferenceTypeName = 1
Dim objCDO, objBP
Set objCDO = Server.CreateObject("CDO.Message")
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic (clear-text) authentication
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "aaaa@bbbbb.co.il"
objCDO.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "123456"
objCDO.Configuration.Fields.Update
objCDO.MimeFormatted = True
objCDO.To = email_to
objCDO.Bcc = email_bcc
objCDO.From = email_from
objCDO.Subject = email_subject
objCDO.HTMLBody = email_body
objCDO.HTMLBodyPart.charset = "utf-8"
objCDO.BodyPart.charset = "utf-8"
objCDO.Send
表单是通过 jquery malsup 表单插件提交的:
$('#contact_form').submit(function() {
if (myvalidator.isValid()) {
$(this).ajaxSubmit(function() {
$('#form_holder').html('thanks');
});
}
return false;
});
该表格也有一个附件,因此发送如下:
<form action="inc_contact_send.asp" method="post" enctype="multipart/form-data" id="contact_form">