Отправка HTML-письма от php с помощью переменных

Я не очень хорошо разбираюсь в php, поэтому это должно (надеюсь) быть легким для одного из вас.

Я пытаюсь отправить HTML-письмо от php, которое включает переменные. Я могу отправить ни одно 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....!"; ?> 

Я никогда не сталкивался с <<< EOF раньше и понятия не имею, что он делает.

Вы используете синтаксис HEREDOC и пытаетесь завершить строку и добавить эту переменную неправильно и без необходимости. Чтобы объявить вашу строку переменной, сделайте следующее:

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

Обратите внимание, что ручная запись PHP по синтаксису heredoc приведена в остальной части строковых документов .