Я работаю на странице всплеска, которая содержит форму. Когда форма отправлена, мой add.php записывает поля ввода формы на SQL-сервер, тогда он должен отправить html-письмо человеку, заполнившему форму.
Проблема №1: получено электронное письмо, но отображается html-разметка; а не форматированная версия электронной почты. Проблема №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!</h1> <h3>Someone from our team will contact you shortly.</h3> <p style="line-height:28px;">We've helped hundreds achieve their financial dreams and look forward to showing YOU how to turn YOUR common "cents" into dollars. Please take a few moments to check out the other areas of our <a href="http://equanimityconcepts.com.au/">website</a>. </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 целиком в области сообщений.
Это ваши цитаты! Используйте двойные кавычки для ваших строк:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type:text/html;charset=iso-8859-1' . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
"\r\n"
а не "/r/n"
что определенно доставит вам неприятности, если вы используете /
$headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; $headers .= "From: <[email protected]>". "\r\n";