2015-08-11 3 views
1

Я пытаюсь добавить некоторую надпись на электронное письмо, созданное скриптом PHP, но, похоже, оно не анализирует теги, поскольку они видны в письме вместе с Контент. Любая помощь могла бы быть полезна. Благодаря!Использование HTML в PHP Email Script

Сценарий:

<?php 

$name = Trim(stripslashes($_POST['name'])); 
$email = Trim(stripslashes($_POST['email'])); 
$message = Trim(stripslashes($_POST['message'])); 
$emailFrom = $email; 
$emailTo = "[email protected]"; 
$subject = "Subject Line"; 

// Prepare email body text 
$body = "<strong>Name:</strong> $name <br /> Email: $email <br /> Message: $message"; 

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Send email 
$success = mail($emailTo, $subject, $body, "From: $name <$emailFrom>"); 

// Redirect to success or error pages 
if ($success){ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=thankyou.html\">"; 
} 
else{ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">"; 
} 

?> 

Выходные:

<strong>Name:</strong> My Name <br /> Email: [email protected] <br /> Message: TEST

ответ

3

в вашем коде, вы не используете $ заголовки

изменить эти строки:

$headers = ""; 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: $name <$emailFrom>" . "\r\n"; 

// Send email 
$success = mail($emailTo, $subject, $body, $headers); 

, и если этого недостаточно, я советую вам использовать рассылку с открытым исходным кодом, такую ​​как phpmailer: http://phpmailer.worxware.com/index.php?pg=examples

+0

Это сработало! Но представил еще один вопрос. Прокомментировал другой (тот же) ответ. –

1

Вы не передаете $header вам почтовой функции. Пожалуйста, добавьте "From: $name <$emailFrom>" к вашему $header, а затем передать его в функцию почты:

$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: $name <$emailFrom>" . "\r\n"; 

// Send email 
$success = mail($emailTo, $subject, $body, $header); 
+0

Я понимаю, что вы имеете в виду. Это сработало! Теги теперь обрабатываются, но имя/адрес электронной почты отображается только как «$ name». –

+0

Извините, я использовал неправильный тип цитат (одиночные кавычки вместо двойных кавычек). Я отредактировал свой ответ. Работает ли он сейчас? –

+0

Да. Большое спасибо! –