2014-08-19 3 views
-2

Я хотел бы использовать < < <, чтобы отправить html-письмо на php. До сих пор я помню, что он работает отлично, но не работает прямо сейчас.Как отправить html-адрес электронной почты, используя php

//ALL HTML MUST BE LEFT ALLIGNED. 
$php_var="variable value"; 
$body = <<<EmailBody 
<html> 
<body> 
$php_var 
</body> 
</html> 
EmailBody; //EmailBody will not show in Email. 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
$subject="Test HTML Email"; 
$body="test email from mydomain"; 
$to="[email protected]"; 
mail($to,$subject,$body,$headers); //$header type should be html 

любая помощь очень ценится.

+1

Там не должно быть ничего до и после 'EmailBody;' - ** IF ** - 'EmailBody; // EmailBody не будет отображаться по электронной почте. 'Является частью вашего фактического кода, удалите' // EmailBody не будет отображаться в Email.', включая пробел между концом 'EmailBody;' и '//' - Прочитайте документацию по heredoc http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc –

+0

Вы должны использовать 'content-type: text/html' для отправки html по электронной почте – TBI

+0

если ничего до и после EmailBody, то где я должен писать код для отправки электронной почты? Не могли бы вы вставить полный код в качестве примера, который отлично работает. – user1911703

ответ

0

Удалить комментарий на конце:

EmailBody; //EmailBody will not show in Email. 

Так это только:

EmailBody; 

Также вы определяете $body дважды, так что вынимайте:

$body="test email from mydomain"; 
0

Вот один простой пример для отправки HTML в электронной почте -

$to = '[email protected]'; 
$from = "[email protected]"; // sender 

$subject = "Test email"; 

$message = '<html><body>'; 
$message .= "<p>This is The Email Address</p><br><span class='nonLink'>[email protected]</span>"; 
$message .= '<br/><a href="http://www.yourwebsite.com/verify.php?email='.$from.'&hash='.$hash.'">click here to complete your registration</a>'; 
$message .= '</body></html>'; 

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset: utf8\r\n"; 
// Additional headers 
$headers .= "From: <$from>" . "\r\n"; 

// Mail it 
if (mail($to, $subject, $message, $headers)){ 
    echo "email sent successfully"; 
} 
+0

Состояние OP - * «Я хотел бы использовать' <<< 'для отправки html-адреса электронной почты в php * * - Это [heredoc] (http://php.net/manual/en/language.types.string.php # language.types.string.syntax.heredoc) синтаксис; вам не хватает всего. –

1

Там НЕ должно быть ничего до И/или после EmailBody;; это закрытый идентификатор.

Используйте это:

//ALL HTML MUST BE LEFT ALLIGNED. 
$php_var="variable value"; 
$body = <<<EmailBody 
<html> 
<body> 
$php_var 
</body> 
</html> 
EmailBody; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
$subject="Test HTML Email"; 
$body="test email from mydomain"; 
$to="[email protected]"; 
mail($to,$subject,$body,$headers); //$header type should be html 

Имея что-то (пробел, текст и т.д.) после идентификатора закрытия, приведет к следующей ошибке:

Parse error: syntax error, unexpected end of file in....(path to file) on line X

были сообщения об ошибках были установлены

Добавьте это непосредственно перед открытия <?php тег:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
Смежные вопросы