This line appears to have BB Code it should be changed to probably your email address without the [ email ] and [ /email ]
ni_set("sendmail_from", " [email]email2@domain[/email] ");
It should porbably be the same as you $to variable. Then in the mail() function $from should be changed to $ headers like this.
mail($to, $subject, $body, $headers);
Also the opening and closing PHP tags should be eliminated from the bottom of the script 'cause nothing is in there.
Basically the form is submitting back to itself by using
<form action="<? $PHP_SELF; ?>"
It might not work using short tags depending on the php.ini might need to use <?php instead of <?.
This line takes the value entered in the textarea with the name of "message" and echos the value of "message" using the $POST['message'] It is using the ternary operator where if $POST['send'] is set then the message will be echoed otherwise a blank space is entered into the textarea That is done with the : ''. If a user checks just ride a bus then the value of $POST['vehicle']
<textarea name="message"><?= isset($_POST['Send']) ? $_POST['message'] : ''; ?>
</textarea>
Keep in mind that checkboxes can all be checked or even none of them be checked and they go into an array so take this simple example of just three options
<input type='checkbox' name='vehicle[]' value='car'>Drive a car<br>
<input type='checkbox' name='vehicle[]' value='truck'>Drive a truck<br>
<input type='checkbox' name='vehicle[]' value='bus'>Ride a bus<br>
If a user checks just ride a bus then the value of $_POST['vehicle'][0] would be bus so you have to handle these type inputs differently. A radio button on the other hand has the same name but different values and only one radio button may be checked so you would check for the values that are possible of the radio buttons you used.