2017-02-18 4 views
0

Я пытаюсь отправить письмо с подтверждением бронирования клиенту. Я создал шаблон подтверждения, используя HTML и CSS, где некоторые данные генерируются из формы php. Сейчас я сталкиваюсь с двумя проблемами. (1) Когда я генерирую шаблон, вместо этого и показывая шаблон, он показывает только кнопку SUBMIT. (2) и без нажатия кнопки шаблон подтверждения автоматически переходит к электронной почте клиента с необработанным кодом HTML и CSS. Он не отображает шаблон в электронной почте клиента. Может ли кто-нибудь помочь мне исправить это? Обратите внимание, что я сохранил весь код HTML и CSS в переменной php ($ message).Отправка шаблона письма с подтверждением на адрес электронной почты клиента

<?php $message= '<!DOCTYPE html> 
<html> 
<head> </head> 
<body> 
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> 
<style type="text/css"> 
table { 
    width:100%; 
    } 
    table, th, td { 
     border: 2px solid #ffffff; 
     border-collapse: collapse; 
    } 
</style> 
<body> 

<div class="table">    
<table id="t01"> 
    <tr> 
    <td><?php echo $_POST["guestname"]; ?></td> 
    <td><?php echo $_POST["checkin"]; ?></td> 
    <td><?php echo $_POST["checkout"]; ?></td> 
    <td><?php echo $_POST["roomtype"]; ?></td> 
    <td><?php echo $_POST["rate"]; ?></td> 
    <td><?php echo $_POST["payment"]; ?></td> 
    <td><?php echo $_POST["resno"]; ?></td> 
</tr> 
</table> 
</div> <!-- table --> 
'; ?> 

<?php 
    $to = "[email protected]"; 
    $subject = "My subject"; 
    $txt = "$message"; 
    $headers = "From: [email protected]" . "\r\n" . 
    mail($to,$subject,$txt,$headers); 
?> 
<input type="submit" value="Send" /> 

ответ

0

В вашей отправки кода вам нужно указать тип содержимого почты и отправить его в качестве заголовка, дополнительно вам нужно изменить ваш PHP код как так

<?php 
$message = '<!DOCTYPE html> 
<html> 
    <head> 
     <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> 
     <style type="text/css"> 
      table { 
       width:100%; 
      } 
      table, th, td { 
       border: 2px solid #ffffff; 
       border-collapse: collapse; 
      } 
     </style> 
    </head> 
    <body> 
     <div class="table"> 
      <table id="t01"> 
       <tr> 
        <td>'.$_POST["guestname"].'</td> 
        <td>'.$_POST["checkin"].'</td> 
        <td>'.$_POST["checkout"].'</td> 
        <td>'.$_POST["roomtype"].'</td> 
        <td>'.$_POST["rate"].'</td> 
        <td>'.$_POST["payment"].'</td> 
        <td>'.$_POST["resno"].'</td> 
       </tr> 
      </table> 
     </div> <!-- table --> 
    </body> 
</html>'; 

//Set the headers and other mail data and mail it 
$to = '[email protected]'; 
$subject = 'My subject'; 

// To send HTML mail, the Content-type header must be set 
$headers[] = 'MIME-Version: 1.0'; 
$headers[] = 'Content-type: text/html; charset=iso-8859-1'; 

// Additional headers 
$headers[] = 'From: [email protected]'; 

// Mail it 
mail($to, $subject, $message, implode("\r\n", $headers)); 
?> 

Для дальнейшей ссылки читать documentation

+0

Благодаря ... этот код работает хорошо, но я столкнулся с другой проблемой, то есть всякий раз, когда это confirmat ионная почта создается автоматически. Я хочу использовать SEND BUTTON, чтобы отправить это по электронной почте. Как я могу это сделать? –

+0

@AmiHasan, используя html-формы, было бы неплохо ' –

0

Изменить tr тег как этот

<tr> 
    <td>'.$_POST["guestname"].'</td> 
    <td>'.$_POST["checkin"].'</td> 
    <td>'.$_POST["checkout"].'</td> 
    <td>'.$_POST["roomtype"].'</td> 
    <td>'.$_POST["rate"].'</td> 
    <td>'.$_POST["payment"].'</td> 
    <td>'.$_POST["resno"].'</td> 
</tr> 

Вы используете php тег внутри php тег, который является неправильным

0

Удалить <?php кода <?php. Также установите тип содержимого в заголовке письма

попробовать это:

<?php $message= '<!DOCTYPE html> 
<html> 
<head> </head> 
<body> 
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> 
<style type="text/css"> 
table { 
    width:100%; 
    } 
    table, th, td { 
     border: 2px solid #ffffff; 
     border-collapse: collapse; 
    } 
</style> 
<body> 

<div class="table">    
<table id="t01"> 
    <tr> 
    <td>'.$_POST["guestname"].'</td> 
    <td>'.$_POST["checkin"].'</td> 
    <td>'.$_POST["checkout"].'</td> 
    <td>'.$_POST["roomtype"].'</td> 
    <td>'.$_POST["rate"].'</td> 
    <td>'.$_POST["payment"].'</td> 
    <td>'.$_POST["resno"].'</td> 
</tr> 
</table> 
</div> <!-- table --> 
'; ?> 

<?php 
    $to = "[email protected]"; 
    $subject = "My subject"; 
    $txt = "$message"; 
    $headers = "From: [email protected]" . "\r\n" ; 
    mail($to,$subject,$txt,$headers); 

?> 
Смежные вопросы