wp_mail() headers multipart/alternative

I am trying to send email via wp_mail containing both – plain text, as well as HTML body.

When I am setting up headers like this:

  $headers = "MIME-Version: 1.0 \r\n";
  //$headers .= "From: Dawid Adach\r\n";
  $headers .= "Reply-To: d.adach@mdbootstrap.com \r\n";
  $headers .= "X-Mailer: PHP/" . phpversion() . "\r\n";

  //$headers .= "To: ".$email."\r\n";
  $headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";

and later on content:

  //Plain text body
  $message .= "Hello,\nThis is a text email, the text/plain version.
  \n\nRegards,\nYour Name";
  $message .= "\r\n\r\n--" . $boundary . "\r\n";
  $message .= "Content-type: text/html;charset=utf-8\r\n\r\n";

  //Html body
  $message .= '
<!--my html comes here -->
    </div>
    ';
  $message .= "\r\n\r\n--" . $boundary . "--";

It doesn’t work.
The entire body is treated like a plain html. When I check an original message I can see that new line chars aren’t interpreted correctly.

Reply-To: d.adach@mdbootstrap.com X-Mailer:PHP/7.0.8Content-Type:
 multipart/alternative@720plan.ovh.net; ,
 boundary=np57c40a2fee02f@720plan.ovh.net

Second thing is that when I try to set header “From: ” wp_mail returns 0 and doesn’t send anything.

I was going trough Sending multipart (text/html) emails via wp_mail() will likely get your domain banned , however I cannot overwrite wp_mail function so I have to use original one.

Solutions Collecting From Web of "wp_mail() headers multipart/alternative"