HTML EMAIL из PHP неправильно анализируется

0

Я работаю на странице всплеска, которая содержит форму. Когда форма отправлена, мой add.php записывает поля ввода формы на SQL-сервер, тогда он должен отправить html-письмо человеку, заполнившему форму.

Проблема №1: получено электронное письмо, но отображается html-разметка; а не форматированная версия электронной почты. Изображение 174551Проблема №2: Поле "От" заполняется "text/html" и отображает веб-сервер: tribeca.websitewelcome.com. Он не показывает указанное электронное письмо.

Вот содержание add.php

<?php 

$name=$_POST['Name']; 
$email=$_POST['Email'];

$to = $_POST['Email']; 
$subject = 'Company Name Webinar Contact';
$message = '<!DOCTYPE html>
<html>
<head>
<title>Email</title>
</head>
<body  style="background-color: #e9e9e9;">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr> <td style="width:600px;"> </td> </tr>
<tr> <td> <table cellspacing="0" cellpadding="0" width="600px" border="0"    style="background-color: #fff;margin:0 auto;border:solid 10px #fff;font-family: lucida grande, sans-serif;">
<tr> <td style="height:100px;"> <center> <img src="eq-logo.jpg" /> </center> </td> </tr>
<tr style="height:1px; background-color:#dcdcdc"> <td > </td> </tr>
<tr style="height:1px; background-color:#f1f5ee"> <td > </td> </tr>
<tr style="height:100px;"> <td > <h1 style="color:#e10621;">Thank you for your enquiry&#33;</h1> <h3>Someone from our team will contact you shortly&#46;</h3> <p style="line-height:28px;">We&#39;ve helped hundreds achieve their financial dreams and look forward to showing YOU how to turn YOUR common &#34;cents&#34; into dollars&#46; Please take a few moments to check out the other areas of our <a href="http://equanimityconcepts.com.au/">website</a>&#46; </p> <p><b>The Company Name Team</b></p> </td> </tr>
</table> </td> </tr>
<tr> <td> <center> <img src="bottom-shadow.png" /> </center> </td> </tr>
</table>
</body> </html>
';

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

// Connect 
mysql_connect("localhost", "db_user", "user_password") or die(mysql_error()) ; 
mysql_select_db("db_name") or die(mysql_error()) ; 

// Write 
mysql_query("INSERT INTO 'table_name' VALUES ('$name', '$email')") ; 

// Email
mail($to,$subject,$message,$headers);

header('Location: http://companyname.com.au');

exit();

?>

Дополнительные замечания: Я попытался отделить "сообщение" от строки по строке html, как в chris coyiers html email tut, не повезло. Здесь вы видите html целиком в области сообщений.

  • 0
    Попробуйте использовать все двойные кавычки $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers .= "From: <[email protected]>". "\r\n";
  • 0
    Спасибо, Фред! ты тоже был прав. \ r \ n должен быть заключен в двойные кавычки.
Показать ещё 1 комментарий
Теги:
email
html-email

1 ответ

1
Лучший ответ

Это ваши цитаты! Используйте двойные кавычки для ваших строк:

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type:text/html;charset=iso-8859-1' . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
  • 1
    Просто нажмите на белую галочку (рядом с ответом), пока она не станет зеленой, чтобы принять и закрыть вопрос. @ Jared.DAGI Плюс это "\r\n" а не "/r/n" что определенно доставит вам неприятности, если вы используете /
  • 0
    Да, "\ r \ n" извините, что путаю кого-либо с такой же проблемой!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню