Как исправить wp_mail (), отображающий HTML-теги в электронной почте - PullRequest
2 голосов
/ 02 апреля 2019

Я использую функцию wp_mail () для отправки формы бронирования, специально созданной в шаблоне страницы в пользовательской теме.Моя проблема в том, что у меня всегда есть HTML-теги, отображаемые в электронных письмах, которые я получаю.

Я несколько раз пытался изменить заголовки и сообщение, пытаясь найти решения в Интернете, но он просто не отображается в нужном формате.Я пробовал разные заголовки и также изменял HTML.

Я хочу, чтобы электронное письмо отображалось в тексте, и не было HTML-тегов.

function send_email () {

if(isset($_POST['submit'])){

  $room_selected = $_POST['room-name'];
  $checkIn = $_POST['check-in'];
  $checkOut = $_POST['check-out'];
  $firstname = $_POST['first-name'];
  $lastname = $_POST['surname'];
  $from = $_POST['email'];
  $phone = $_POST['phone'];
  $room_message = $_POST['your-message'];
  $numPeople = $_POST['people-select'];
  $dinnerSelect = $_POST['dinner-select'];
  $breakfastSelect = $_POST['breakfast-select'];
  $bedSelect = $_POST['bed-select'];
  $grandTotal = $_POST['grand-total'];

  $to = "test@email.com";
  $subject = "My subject";

  $headers = "From" . $from .  "\r\n";
  $headers .= "Reply-To: admin@example.com \r\n";
  $headers .= "MIME-Version: 1.0 \r\n";
  $headers .= "Content-Type: text/html; charset=UTF-8 \r\n";


  $message = '<html>';
  $message .= '<head>';
  $message .= '<title>Booking Request</title>';
  $message .= '</head>';
  $message .= '<body>';
  $message .= '<div class="container">';
  $message .=   '<div class="row">';
  $message .=          '<div class="card" style="width: 18rem;">';
  $message .=            '<img class="card-img-top" src="..." alt="Card image cap">';
  $message .=            '<div class="card-message">';
  $message .=              '<h5 class="card-title">' . $room_selected . '</h5>';
  $message .=              '<p class="card-text">Some quick example text</p>';
  $message .=            '</div>';
  $message .=            '<ul class="list-group list-group-flush">';
  $message .=              '<li class="list-group-item">Name: '. $firstname . ' ' . $lastname . '</li>';
  $message .=              '<li class="list-group-item">Check In Day:' . $checkIn . '</li>';
  $message .=              '<li class="list-group-item">Check Out Day:' . $checkOut . '</li>';
  $message .=              '<li class="list-group-item">Email:' . $from . '</li>';
  $message .=              '<li class="list-group-item">Phone:' . $phone . '</li>';
  $message .=              '<li class="list-group-item">Room:' . $room_selected . '</li>';
  $message .=              '<li class="list-group-item">Number of People:' . $numPeople . '</li>';
  $message .=              '<li class="list-group-item">Dinner Option:' . $dinnerSelect . '</li>';
  $message .=              '<li class="list-group-item">Breakfast Option:' . $breakfastSelect . '</li>';
  $message .=              '<li class="list-group-item">Bed Option:' . $bedSelect . '</li>';
  $message .=              '<li class="list-group-item">Message:' . $room_message . '</li>';
  $message .=            '</ul>';
  $message .=            '<div class="card-message">';
  $message .=              '<p class="card-text">Grand Total:' . $grandTotal . '</p>';
  $message .=            '</div>';
  $message .=          '</div>';
  $message .=        '</div>';
  $message .=       '</div>';
  $message .=    '</body>';
  $message .=  '</html>';




  if( wp_mail($to, $subject, $message, $headers) ) {
    echo 'sent';
  }
  else {
    echo 'there is a problem';
  }

}

   }

 }

    add_action( 'init', 'send_email' );

Я хочу, чтобы электронное письмо отображалось в тексте и не содержало тегов HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...