PHP:如何使用动态变量

时间:2018-08-04 06:57:16

标签: php sendmail

我正在尝试从自定义控制器发送HTML电子邮件。

这里是代码。

public function execute()
{
    $to = "dev@test.com";
    $subject = "HTML email";

    $message = "
            <html>
            <head>
            <title>HTML email</title>
            </head>
            <body>
            <p>This email contains HTML Tags!</p>
            <table>
            <tr>
            <th>Firstname</th>
            <th>Lastname</th>
            </tr>
            <tr>
            <td>John</td>
            <td>'.$_POST["company_name"].'</td>
            </tr>
            </table>
            </body>
            </html>
            ";


    // Always set content-type when sending HTML email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    // More headers
    $headers .= 'From: <webmaster@example.com>';

    mail($to,$subject,$message,$headers);

如何根据POST请求使用动态变量,以便电子邮件以动态形式完美发送。

我尝试粘贴上面的代码,但是在PHP Strom中仍然遇到语法错误。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

代替:

<td>'.$_POST["company_name"].'</td>

使用:

<td>".$_POST['company_name']."</td>

您的HTML用双引号引起来,因此要返回PHP,您还需要使用双引号。

答案 1 :(得分:0)

两件事。对于多行字符串,我建议使用heredoc。其次,将表单数据保存到变量中,然后在字符串中使用它。

$company_name = $_POST['company_name'];

$message = <<<EOD
<html>
<h1>$company_name</h1>
<html>
EOD;