Это может быть или не быть единственной проблемой, но вы пропускаете разрывы строк после Content-Type
заголовков в разделах обычный и HTML:
$autoReplyMessage = "Auto reply" . "\r\n\r\n".
"--" . $mime_boundary.
"Content-Type: text/plain; charset=\"iso-8859-1\"\r\n".
// ----------------------------------------------^^^^^
// Added \r\n
"Content-Transfer-Encoding: 7bit". "\r\n\r\n".
$plain_text. "\r\n".
//---------^^^^^^^^^
// Added another linebreak before MIME boundary
"--" . $mime_boundary.
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n".
// ----------------------------------------------^^^^^
// Added \r\n
"Content-Transfer-Encoding: 7bit". "\r\n\r\n".
$html_text."\r\n\r\n".
// ---------^^^^^^^^^^
"--".$mime_boundary."--";
Вместо того, чтобы пытаться создавать сообщения multipart / mimeвручную, многие из нас здесь, в SO, порекомендовали бы такую почтовую библиотеку, как PHPMailer , которая справляется с этим гораздо проще.Создание сообщений вручную, как правило, весьма подвержено ошибкам и может привести к несоответствиям между реализациями SMTP-сервером или различиям между переносами строк на собственной платформе.