Hii @AFWright ,
The only way I can think of doing this with any degree of success from within PowerApps is to use HTML to render the entire gallery/collection of data dynamically.
You would need to make sure the image URL's are available to anyone who wants to view them, as embedding images into email is tricky at best. But in theory they would have needed to be able to see them anyway so it shouldn't be that far a leap from what you have configured currently.
To create the HTML, create the starting and ending HTML tags for the form, then loop through your source to create each item.
For this example I'll use your gallery as the source, seeing as it already contains all the logic of where data came from - this uses values in controls (not data fields) in the gallery row - to use a collection or the actual source, you just need to change myGallery.AllItems to the name of the source and update the dynamic fields inserts to the relevant field names).
Create a Button and set it's onSelect: property to;
//starting HTML
Set(HTMLPrefix, "<p>This is your output;</p>
<p><span style='text-decoration: underline;'>Gallery of Items</span></p>
<table style='width: 498px;' border='2'>
<tbody>
<tr>");
//Looping table HTML
Set(HTMLTable, Concat(ForAll(myGallery.AllItems,
"<tr>
<td style='width: 238px;'>
<p>" & labelTitle.Text & "</p>
<p><img src='" & image.Image & "' width='64' /></p>
<p><strong>" & labelTitle.Text & "</strong><strong><br /></strong>" & labelDescription.Text & "</p>
</td>
<td style='width: 248px;'>
<p>" & labelWithCodes.Text & "</p>
<p>" & anotherLabelWithCodes.Text & "</p>
<p>Rated:" & labelRating.Text & "</p>
<p>Production:" & labelProduction.Text & "</p>
</td>
</tr>"), Value));
//Then, your wrap up HTML
Set(HTMLSuffix, "</tbody>
</table>
<p>The end</p>");
//Finally, string it all together to place into the body of your email
Set(HTMLEmailBody, Concatenate(HTMLPrefix, HTMLTable, HTMLSuffix))
Obviously I've made some guesses as to label names, you can fill in the correct ones. The image URL stored in the image.Image property may or may not be email friendly, depending on how you're rendering it as part of the data set. It might take some extra effort to get this right depending on how you're doing it.
Ultimately, you should be able to populate your email with the HTMLEmailBody string and can obviously make your HTML a lot nicer than mine with fonts and the like - you can use an online HTML editor to see the output, or you can render the output in an HtmlText control inside PowerApps, but do keep in mind this control has limited HTML rendering capabilities - this shouldn't stop you from creating what you need as your ultimate limitation will be the email client reading the email, not PowerApps.
Also if you're copying and pasting from outside HTML into PowerApps, you may want to replace all your " with ' - otherwise you'll spend your life escaping double quotes and it's not pretty to read. Only escape double quotes where HTML absolutely has to have double quotes - otherwise, for most of the time, you can just Replace All html code double quotes with single quotes to make life easier.
Hope this helps,
RT