How can PHP developers ensure that emails are displayed correctly in both text and HTML format across different email providers?

When sending emails in PHP, developers can ensure that emails are displayed correctly in both text and HTML format across different email providers by setting the appropriate headers in the email message. This includes setting the Content-Type header to multipart/alternative and including both a plain text and HTML version of the email content. By providing both versions, the email client can choose which format to display based on the user's preferences.

$to = 'recipient@example.com';
$subject = 'Example Subject';
$message = 'This is the plain text version of the email.';
$html_message = '<html><body><p>This is the HTML version of the email.</p></body></html>';

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"boundary123\"" . "\r\n";

$body = "--boundary123\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= $message . "\r\n";

$body .= "--boundary123\r\n";
$body .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= $html_message . "\r\n";

$body .= "--boundary123--";

mail($to, $subject, $body, $headers);