2

我正在使用CDO.MessageASP 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">
4

1 回答 1

3

尝试移动:

objCDO.BodyPart.charset = "utf-8" 

向上几行,使其在分配到HTMLBody. email_body在调试时检查内容以确保它包含您期望的 HTML可能也是值得的。

于 2012-05-09T12:34:50.827 回答