Solved

Problem sending HTML Jmail email with hebrew content

Posted on 2007-04-07
4
695 Views
Last Modified: 2012-06-21
hi,
i'm building a simple newsletter system for a client using asp, access and Jmail. the user enters text and uploads images. everything is in hebrew and i'm using utf-8 encoding.

i encounter problems when i try and send the template page with the relevant dynamic data as a HTML email... all the hebrew text comes out as screwed up characters (המשכן as an example... of course i have to presume you'll see the same as me here: gobbledigook).

below is a snippet of the code i'm using ... the line which defines the content of the mail is

msgTemplate.GetMessageBodyFromURL "http://xxx.bob.co.il/newsletter1.asp?id="&varID

this page displays correctly if viewed with the browser, but when mailed it scrambles the text.

here is the code :

 set msgTemplate = Server.CreateObject( "JMail.Message" )
 msgTemplate.From = "info@bob.co.il"
 msgTemplate.FromName = "Bob."
msgTemplate.AddRecipient "%%email%%"
msgTemplate.Subject = Request.Cookies("subject")

msgTemplate.ContentType = "text/html; charset=UTF-8"
'msgTemplate.ContentTransferEncoding = "65001"
'msgTemplate.ContentType = "text/html"
msgTemplate.Charset = "utf-8"

msgTemplate.GetMessageBodyFromURL "http://xxx.bob.co.il/newsletter1.asp?id="&varID

set mMerge = Server.CreateObject( "JMail.MailMerge" )
mMerge.MailTemplate = msgTemplate

msgTemplate.MailServerUserName = "obo@bob.co.il"
msgTemplate.MailServerPassword = "bob"
msgTemplate.Silent = True
   msgTemplate.Logging = True
 mMerge.BulkMerge  rs, false, "mail.bob.co.il"
Response.Write("<br><br>mail sent")

any suggestions ?

cheers

dog
0
Comment
Question by:dog_star
  • 3
4 Comments
 
LVL 11

Accepted Solution

by:
kelvinwkw earned 250 total points
ID: 18871876
use server.htmlencode()
0
 

Author Comment

by:dog_star
ID: 18872104
thanks for the reply... not sure if i've applied your suggestion correctly but i tried this :

varURL =   "http://xxx.bob.co.il/newsletter1.asp?id="&varID
varURL =  server.htmlencode(varURL)
msgTemplate.GetMessageBodyFromURL varURL

and get the same results as before (ie strange characters in the mail)...
0
 

Author Comment

by:dog_star
ID: 18872119
ah right, found what you meant... use the server.htmlencode on the template page to encode the dynamic data.... silly i didn't get what you meant...

encoding the data works perfect... many thanks....
0
 

Author Comment

by:dog_star
ID: 18873034
ok, it was close to perfect..... now all the hebrew dynamic text displays correctly, but the static text is still garbled.... i've tried putting the static text like this but it yields the same results :

<%=Server.HTMLEncode(Response.Write("hebrew text here"))%>

any suggestions for getting the rest to display correctly?

or should i post this as a new question....

cheers

dog
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to count occurrences of each item in an array.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now