To learn about Jakarta Mail basics, sending messages via an SMTP server and more options to consider head to the original tutorial about how to send email with attachement in Java on Mailtrap Blog.
To send an HTML email, you should perform the same steps as for sending a simple text message, with only SendHTMLEmail class instead of just SendEmail. Also, you need to set content to the MimeMessage.setContent(Object, String) and indicate text/html type.
To add an image to your HTML email in Jakarta Mail, you can choose any of three regular methods: CID, base64 image, or linked image.
To embed a CID image, you need to create a MIME multipart/related message: