将确认信模板发送到客户的电子邮件地址

时间:2017-02-18 09:14:50

标签: php

我正在尝试向客户发送预订确认电子邮件。我使用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 = "client@email.com";
    $subject = "My subject";
    $txt = "$message";
    $headers = "From: my@email.com" . "\r\n" .
    mail($to,$subject,$txt,$headers);
?>
 <input type="submit" value="Send" />   

3 个答案:

答案 0 :(得分: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标记是错误的

答案 1 :(得分: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 = "client@email.com";
    $subject = "My subject";
    $txt = "$message";
    $headers = "From: my@email.com" . "\r\n" ;
    mail($to,$subject,$txt,$headers);

?>

答案 2 :(得分:0)

在您的发送代码中,您需要指定邮件的内容类型并将其作为标题发送,此外您还需要修改您的PHP代码

  $scope.facebookLogin = function() {
    $cordovaOauth.facebook(FACEBOOK_ID, ["email", "public_profile"], {
      redirect_uri: "http://localhost/callback"
    }).then(function(result) {
      var access_token = result.access_token;
      //console.log(JSON.stringify(result));

      $http.get("https://graph.facebook.com/v2.2/me", {
        params: {
          access_token: access_token,
          fields: "first_name,last_name,gender,picture,locale",
          format: "json"
        }
      }).then(function(result) {
        console.log("RETURN: " + JSON.stringify(result)); // Here is where I see that JSON data
      }, function(error) {
        alert("Error: " + error);
      });

    }, function(error) {
      console.log(error);
    });
  }

如需进一步参考,请阅读documentation