Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

HTML newsletters not quite right


dazecoop

Recommended Posts

Posted

Hi all,

 

Before I begin, let me just say that I spent the best part of 2 hours looking through this forum for the hundreds of other posts like this one regarding HTML newsletters not showing correctly!

 

I have already altered the code in admin/includes/modules/newsletters/newsletter.php at about line 74 to be

$mimemessage->add_html($this->content);

Which helped, but still hasn't completely solved my problem.

 

When viewing an email sent via the osCommerce Newsletter module using HTML enabled (as above), I receive a strange encoding (i think) on some of the characters in my email. Most noticeable is the pound sign, displaying as £.

 

I have found in admin/includes/classes/email.php on lines 59-63 some header info for any email sent via osComm, although changing this usually makes the email totally blank! I have tried loads of different combinations of header information, using existing HTML emails sent by myself, which only resulted in either a blank message or exactly the same funky A symbol's everywhere!

 

Any one else had this problem at all? Or does anyone know how to get rid of the funky A symbol in front of my pound signs! Cheers! :-"

Posted

Hi,

 

make sure all the HTML is together with no lines Separating them

 

Eg.

 

html<br>

<br>

html<br>

<br>

html

 

 

Should look like this

 

html<br><br>html<br><br>html (all on one line)

 

This is the problem I was having and it worked for me.

 

Hope this helps.

 

Adam

Posted

Brilliant worked a treat thanks very much.

 

Incase anyone else is wondering through the forums in a while to come, heres a useful tip to send newsletters just to yourself, rather than everyone

 

Open /admin/includes/newsletters/newsletter.php and look near line 30ish for

$mail_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

and replace with

$mail_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS . " WHERE customers_email_address = '[email protected]'");

Remember to keep a back up of the line you just replaced, since it will never work!

 

Then also look near line 66ish and look for

$mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

and temporarily replace with

 $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " WHERE customers_email_address = '[email protected]'");

 

Again, make sure once you have your newsletter working properly that you change it back to how it was, otherwise you will only ever be sending yourself email's, rather than everyone! Also, of course, you must have a customer registered using the email address above.

 

Thanks again, I hope this helps someone! B)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...