Отправка писем на разных языках с использованием ASP и CDOSYS - PullRequest
2 голосов
/ 01 октября 2010

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

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

Хотелось бы узнать, чего мне не хватает?

      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

Ответы [ 2 ]

5 голосов
/ 01 октября 2010

Переход на кодировку UTF-8 стоит удачи: -

objCDOSYS.HTMLBodyPart.charset = "UTF-8"

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

1 голос
/ 01 октября 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...