The image could be sent if encoded in base64, although it needs to be decoded on the PHP side.
It was possible with MacroDroid, but if the size of the image is large, the character limit of the variable may be a problem.
I was able to send a file using the file picker with HTTP Request Shortcuts, but it may be difficult to send a file with a text description.
It may be easier to use cURL with Termux.
I presented a screenshot with the body entered, and I asked several people to verify it, and they all found the macro to work properly.
I think it's because of your environment.
UI interaction is not required because it is input using an intent.
Set the character string you want to be the body of the email in the local variable body.
Could you please organize it a little more before posting?
Please do not post multiple posts with similar content.
If you are using Android 13 or below, it is possible with the MailTask plugin.
https://play.google.com/store/apps/details?id=com.balda.mailtask