The code below takes form variables (lines 3-12), runs some validation routines (lines 14-48), and then uses Jmail to send a response (lines 50-81). If the user enters English in the form, then everything works fine: I receive an email in English.
However, if the user enters Hebrew characters, the Hebrew text comes out complete gibberish.
NOTE: The validation routine generates Hebrew messages which display perfectly on the form. It's just the email that won't display Hebrew chars properly.
What am I doing wrong? I've tried a whole lot of tricks such as adding: Jmail.Charset = "windows-1255".
BTW, my header contains the code: <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1255">
However, if the user enters Hebrew characters, the Hebrew text comes out complete gibberish.
NOTE: The validation routine generates Hebrew messages which display perfectly on the form. It's just the email that won't display Hebrew chars properly.
What am I doing wrong? I've tried a whole lot of tricks such as adding: Jmail.Charset = "windows-1255".
BTW, my header contains the code: <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1255">
Code:
<%
'Option Explicit
dim strName, strEmail, strEmailConfirm, strMessage, optTopic, strTelephone
strName = Request.Form("name")
strEmail = Request.Form("email")
strEmailConfirm = Request.Form("emailConfirm")
strMessage = Request.Form("message")
strTelephone = Request.Form("telephone")
optTopic = Request.Form("topic").Item
isError = 0
strErrText = ""
if strName = "" then
strErrText = strErrText & ">?? ???? ?? ???<br>"
isError = isError +1
end if
if strEmail = "" or len(strEmail) < 5 or instr(strEmail,"@") = 0 or instr(strEmail,".") = 0 then
strErrText = strErrText & ">?? ????? ????? ???? ???????? ???<br>"
isError = isError +1
end if
if strEmail <> strEmailConfirm then
strErrText = strErrText & ">?????? ????? ???????? ???? ??????<br>"
isError = isError +1
end if
if optTopic = "" then
strErrText = strErrText & ">?? ????? ???? ??????<br>"
isError = isError +1
end if
if strMessage = "" then
strErrText = strErrText & ">?? ????? ?? ??????"
isError = isError +1
end if
If IsError > 0 Then
Response.Redirect "contact.asp?" & Request.Form & "&strErrText=" & Server.URLEncode(strErrText)
End If
If len(trim(strTelephone)) <5 then
strTelephone = "not submitted"
End If
' -- begin email send process --
Dim JMail, mailbody
mailbody = "<table border='0'><tr><td colspan='2'><b>To:</b> Gold 'n Pearl Administrator,</td></tr>"
mailbody = mailbody & "<tr><td colspan='2'><br>The following was submitted by a Gold 'n Pearl viewer using the 'Contact Us' form:<br><br></td></tr>"
mailbody = mailbody & "<tr><td><b>Viewer Name:</b></td><td>" & Trim(strName) & "</td></tr>"
mailbody = mailbody & "<tr><td><b>Email: </b></td><td>" & Trim(strEmail) & "</td></tr>"
mailbody = mailbody & "<tr><td><b>Topic: </b></td><td>" & optTopic & "</td></tr>"
mailbody = mailbody & "<tr><td><b>Telephone: </b></td><td>" & Trim(strTelephone) & "</td></tr>"
mailbody = mailbody & "<tr><td><b>Message: </b></td><td>" & Trim(strMessage) & "</td></tr>"
mailbody = mailbody & "<tr><td colspan='2'><br><br><b>From:</b> Gold 'n Pearl Autoresponder</td></tr>"
On Error Resume Next
email_SendJmail = true
strBody = email_wrapBody(strBody)
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "utf-8"
JMail.MailServerUserName = const_ServerUserName
JMail.MailServerPassword = const_ServerPassword
' JMail.From = const_From
' JMail.ReplyTo = const_replyTo
' JMail.FromName = const_fromName-->
JMail.From = strEmail
JMail.ReplyTo = strEmail
JMail.FromName = strName
JMail.Subject = "Contact request from Gold 'n Pearl viewer"
JMail.AddRecipient const_recipient,const_fromName
' JMail.AddRecipientBCC const_Email_EmailBCCAddress
JMail.HTMLBody = mailbody
JMail.Send(const_SMTPServer)
Response.Redirect "contactThanks.asp"
If Err.number <> 0 Then
email_SendJmail = false
Response.Redirect "contactError.asp"
End If
Set JMail = Nothing
%>