The code the way you have it with <br> is good for HTML. Underneath all that code put it like: First Name: <?= $firstname; ?> \r\n
… when you want it to output to email. Or are you trying to format the email as HTML?
What I was getting at is are you telling the mail function to use html for the message body? I just wondered if that was elsewhere in the code, but primarily because your <br> tags are showing rather than being interpreted, which suggests the email is being sent as plain text.
ETA: Also note that sending emails from the address that your form-filler typed into their form is fraught with issues. Most commercial mail servers will only send emails from a domain that they’re configured to handle. You’d be better to send the email from an address of your own, and set the “Reply-to” header to the form-fillers email address.
OK, good. It’s just that your code (which I can’t quote because you’ve posted it as an image for some reason) is specifying that the email is sent from $email, which is the same value that you put into the body of your email along with the other form contents, which led me to presume that it’s the form-fillers email. I’m not familiar with mailgun, so maybe that deals with it.