从php发送带有变量的HTML电子邮件


Sending HTML email from php with variables

我不太擅长php,所以(希望)这对你们中的一个人来说应该很容易。

我正在尝试从php发送一封包含变量的HTML电子邮件。我可以发送带有变量的非html电子邮件,也可以发送没有变量的html电子邮件,但我似乎不能同时发送这两种邮件。这是我的代码:

<?
$to = "me@something.co.uk";
$from = "m2@something.com";
$subject = "Hello! This is HTML email";
'
//begin of HTML message
$message = <<<EOF;
<html>
 <p>Opt out of contact by phone<br />
    '. $_POST["Opt_out_phone"] .'
 </p>
</html> EOF;
$headers  = "From: $from'r'n";
$headers .= "Content-type: text/html'r'n";
mail($to, $subject, $message, $headers);
echo "Message has been sent....!"; ?> 

我从来没有遇到过<lt<EOF之前,不知道它在做什么。

您正在使用HEREDOC语法,并试图不正确且不必要地终止字符串和追加变量。要用变量声明字符串,请执行以下操作:

$message = <<<EOF;
<html>
 <p>Opt out of contact by phone<br />
     {$_POST["Opt_out_phone"]}
 </p>
</html> EOF;

请注意,关于heredoc语法的PHP手动条目与其他字符串文档在这里。