STUFF( (SELECT '; ' + s.Email_Recipient
FROM MyTable as s
WHERE s.Customer = t.Customer
FOR XML PATH(''), TYPE).value('.', 'varchar(max)')
,1, 2, '') as Email_Recipient
FROM MyTable as t
This is a violation of First Normal Form (1NF) and we do not do this in SQL. This is a display issue for the presentation layers. That is where you use XML, a report writer, etc. No competent SQL programmer would do it in a query.
This is not something you should do in SQL. You should do this in your presentation layer (e.g. form, report, web page, etc).
We store data in that original format for a reason
However saying that "no competent programmer would do it in a query" is untrue and overly harsh. I would consider it appropriate practice in a one off, ad-hoc query but I wouldn't let something like this in to production.