Email receipt received doesn't show any attributes, user cannot check what size/color they ordered.
(All this can be achieved using default CCK fields under product type, but we're using the combination mentioned above for multiple reasons, many products got different option sets to chose from and certain attributes selected adds extra price to total, like eg size: XXXL costs extra $3+ and this cannot be achieved with default fields).

One of the tokens I found is like eg. [commerce-order:commerce-line-items:0:commerce-pricing-attributes] and email on checkout prints it like this:

Also more tokens available at admin/help/token like eg.: Attributes [commerce-line-item:commerce-product:field_attributes] Pricing Attributes field. and combining them with [commerce-order:commerce-line-items:0:commerce-product] won't work, already tried dozens of variations.

E.g. in Order's view page I addded the view Commerce Line Item: Product Attributes and it displays correctly.

2 Answers
2

install views rules module, make a views-rules of orders, you will need OID as a contextual filter, add it as allways, then in middle column, in parameters settings set your OID as:integer, add all fields/attributes you wish, now in middle column settings, set your fields/attributes values as text, choose 'use rendered output'.

Then in your send-email-to-customer rule, add a views-rule with your new view, actions: fecth entity by id:ORDER with your variable OID, now you have all fields/attributes you added avilable as tokens, built your email body like: thanks [user:name], your order [OID] is in proccess, you bought : T-shirt [tshirt:value], T-shirt-size: [tshirt-size:value], ............. .

if you can not use HTML tags, here is an exported rules_action_info() rules code that i used in one site, adds a new action: build-email-body, it shows you how to built a row for a 'nice'
html look alike. if you need this feature, you will need to make a custom module called: rulesbodyemail, change all $variables and code as needed, take a close look how is built variable: $text_formatted_body, and is how is returned.

Insane solution, holy moly, can't believe this works, this Views Rules module is really powerful and it's not updated since 2k12! And for formatting, I didn't need custom module, just add internal <style></style> at the top of the body above all the tokens in the rules. Thanks for helping.
– user3108268Jan 20 at 11:45

hi @pinueve, it sends separate email for each line item in the cart. So if ordering 5 items, user gets 5 emails with each product. Should be all products in one email. Can you make a screenshot of your rules setup?
– user3108268Jan 21 at 12:49

it could be that your rules-view is returning same order several times, in query settings toggle 'unique results', or in rule-email do send email outside the views-loop, to do this, add a text-token variable first and outside views-loop, built body as you did, and asign your text-token-variable with email-body value, and send email with variable-token, let me know if this helps.
– pinueveJan 21 at 16:26

Here's mine i.imgur.com/apQ5IUx.png everything you move outside loop does not get picked up, no tokens available and email is empty. I do not see the fetch ID part in your screenshot and seem like yours using author ID and not order ID and you have multiple data fields. I ticked the disctinct in the view, but I don't think it's the problem, the emails are not dupes, it sends separate email for separate line item in the order with its details.
– user3108268Jan 21 at 17:59