2010-10-01 5 views
2

Я хочу отправить электронное письмо с использованием арабского текста в качестве темы.Отправка писем на разных языках с использованием ASP и CDOSYS

Кодовая часть преобразует специальные символы в арабский текст правильно для тела сообщения, но не делает этого для темы сообщения.

Я хотел бы знать, что мне не хватает?

 
     Set objCDOSYS = Server.CreateObject("CDO.Message") 
     Set objCDOConf = CreateObject("CDO.Configuration") 
     Set objCDOFields = objCDOConf.Fields 

     objCDOFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
     objCDOFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" 
     objCDOFields.Update 

     Set objCDOSYS.Configuration = objCDOConf 
     objCDOSYS.MimeFormatted=True 
     objCDOSYS.BodyPart.Charset = "Windows-1256" 

     objCDOSYS.From = Trim(Request.Form("frmSender")) 
     objCDOSYS.To = Trim(Request.Form("frmRecipient")) 

     objCDOSYS.Subject =Request.Form("frmSubject") 
     objCDOSYS.HTMLBody = Trim(Request.Form("frmMessage")) 

     objCDOSYS.HTMLBodyPart.charset = "Windows-1256" 
     objCDOSYS.Fields.update 

     objCDOSYS.Send 
     Set objCDOFields = Nothing 
     Set objCDOConf = Nothing 
     Set objCDOSYS = Nothing 

ответ

1

Возможно, вам понадобится использовать '=? UTF-8? B?' перед объектом и арабской базой кодированной строки.

objCDOSYS.Subject = "=?UTF-8?B?" + Base64Encode(Request.Form("frmSubject")) 

Функция Base64Encode можете найти на - http://nolovelust.com/post/classic-asp-base64-encoder-decoder.aspx

Примечание: Я попробовать это сам еще. так что не на 100% уверен.

+0

Спасибо за ответ, я проверил его, но он не работает. Вы можете попробовать это здесь http://www.franchiseforindia.com/EmailUniCode.asp – Sandhurst

+0

@Sandhurst: В конце кода отсутствует «+»? = «', Однако есть большая проблема. Мы не можем просто передать строку темы unicode в функцию Base64Encode, которую сначала нужно преобразовать в UTF-8. – AnthonyWJones

+0

Спасибо Энтони, ты прав. Это должен быть UTF-8. – Jirapong

5

Изменения в UTF-8 кодировку стоит колотый: -

objCDOSYS.HTMLBodyPart.charset = "UTF-8" 

Я думаю, что приведет к виду кодирования Jirapong пыталось, но CDOSYS сделает это за вас. К сожалению, я знаю, что он не работает для отображаемых имен в адресах электронной почты.

+0

Я положил все, что вы, ребята, сказали мне, но все равно не повезло. – Sandhurst