<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
header("Content-Type: text/html; charset=utf-8");
if(isset($_POST['btn']))
{
require "class.phpmailer.php";
$mail = new PHPMAiler();
$mail->IsSMTP();
$mail->Host = "mail.ru";
$mail->From = "support@mail.ru";
$to = $_POST['name_post'] . "<" . $_POST['to'] . ">";
$mail->AddAddress($to);
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['text'];
$mail->WordWrap = 50;
if($mail->Send())
{
echo "<span style=\"color: green;\">Письмо успешно отправлено</span>";
}
else
{
echo "<span style=\"color: red;\">Произошла ошибка</span><br>" . $mail->ErrorInfo . "<br><pre>". print_r($_POST, true) . "</pre>" . $to;
}
}
else
{
?>
<form action="mail.php" method="POST">
<table>
<tr><td>Имя автора: </td><td><input type="text" name="name_post"></td></tr>
<tr><td>Кому: </td><td><input type="text" name="to"></td></tr>
<tr><td>Тема письма: </td><td><input type="text" name="subject"></td></tr>
<tr><td valign="top">Текст: </td><td><textarea name="text" cols="50" rows="10"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="btn" value="Отправить"></td></tr>
</table>
</form>
<?php
}
При вводе данных, в $to должно быть что-то вроде этого:
Имя<куда@сайт.ру>
Но, туда заноситься только:
Имя
Из-за этот письмо не отправляется. Почему такая бяка происходит?