Envío de correo electrónico HTML desde php con variables

No soy muy bueno en php, así que esto debería (con suerte) ser fácil para uno de ustedes.

Estoy tratando de enviar un correo electrónico HTML desde php, que incluye variables. Puedo enviar un correo electrónico no html con variables, o un correo electrónico HTML sin variables, pero parece que no puedo hacer ambas cosas al mismo tiempo. Aquí está mi código:

<? $to = "me@something.co.uk"; $from = "m2@something.com"; $subject = "Hello! This is HTML email"; ' //begin of HTML message $message = <<<EOF;  

Opt out of contact by phone
'. $_POST["Opt_out_phone"] .'

EOF; $headers = "From: $from\r\n"; $headers .= "Content-type: text/html\r\n"; mail($to, $subject, $message, $headers); echo "Message has been sent....!"; ?>

Nunca me he encontrado con <<< EOF antes y no tengo idea de lo que está haciendo.

Está utilizando la syntax de HEREDOC e intenta terminar la cadena y anexar la variable de forma incorrecta e innecesaria. Para declarar su cadena con la variable, haga esto:

 $message = << 

Opt out of contact by phone
{$_POST["Opt_out_phone"]}

EOF;

Tenga en cuenta que la entrada manual de PHP en la syntax heredoc está con el rest de los documentos de cadena, aquí .