Upon updating an order's status and electing to send a notification to the customer, the email that is sent is broken html. When I view the source of the email attachment it looks like this:

<p>Your order number &lt;a href=&quot;<a href="https://www.example.com/user/73/orders/15&quot;&gt;15&lt;/a&gt;">https://www.example.com/user/73/orders/15&quot;&gt;15&lt;/a&gt;</a> at MySite has been updated.</p>
Notice the escaped HTML tags that surround the real HTML.

I have found code that likely has a part in the output:

uc_order/uc_order.module:787:
$messages['order_update_email'] = t("[uc_order:first-name] [uc_order:last-name],\n\nYour order number [uc_order:link] at [store:name] has been updated.\n\nOrder status: [uc_order:order-status]\n\nOrder comment:\n[uc_order:last-comment]\n\nBrowse to the following page to login to your account and view your order details:\n[site:login-link]\n\n\nThanks again,\n\n[store:name]\n[site:slogan]");

The text that results from that must be going through a convert-to-html call somewhere(?), but I don't know where to find that to provide more info. It seems to convert the /n's to <p>'s fine but messes up the href's. Looks like it's trying to convert things like [uc_order:link] that are likely already html.

Comments

This is why I had to send only non-html messages.

Where did you find that setting?

I ended up hacking UC core, changing the message to this:

$messages['order_update_email'] = t("[uc_order:first-name] [uc_order:last-name],\n\nYour order number [uc_order:order-number] at [store:name] has been updated.\n\nOrder status: [uc_order:order-status]\n\nOrder comment:\n[uc_order:last-comment]\n\nBrowse to the following page to login to your account and view your orders:\nhttps://www.example.com\n\n\nThanks again,\n\n[store:name] \n[site:slogan]");

I changed two things:
- The first token with an href, [uc_order:link], is now the plain-text [uc_order:order-number]
I wanted this to be plain-text anyways because unless the user is already logged into the site they land on the site's Access Denied page.
- Hardcoded the login link, later processing makes it an href

It would be nice if this customer-facing email could have a template like the customer and admin email's that are sent when an order is made.

It turns out the rule has a textarea for this message, see this thread for more info:
http://www.ubercart.org/forum/support/32926/status_update_email_broken_html

Category:bug» support
Status:Active» Fixed

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.