Здравствуйте, суть в том, что нужно сделать что бы $mail->From = ''; и $mail->addAddress(''); заполнялись из БД.
Если заполнить в ручную, то всё работает.
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();// Настройте почтовую программу на использование SMTP
$mail->Host = 'ssl://mail.host'; // Укажите SMTP-сервер
$mail->Port = 465;
$mail->SMTPAuth = true; // Включить аутентификацию SMTP
$mail->Username = '******'; // SMTP username
$mail->Password = '*******'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Включить шифрование, «ssl»
$mail->CharSet = 'UTF-8';
$mail->From = '';
$mail->addAddress(''); // Добавить получателя
$mail->Subject = 'Вот тема';
$mail->Body = 'Это текст сообщения HTML <b>выделен жирным шрифтом!</b>';
if(!$mail->send()) {
echo 'Сообщение не может быть отправлено.';
echo 'Ошибка почтовой программы: ' . $mail->ErrorInfo;
} else {
echo 'Сообщение отправлено';
}
Как в старом коде всё работает
$id=intval($_REQUEST['id']);
if(isset($id))
{
$r=mysqli_query($link,"SELECT * FROM book WHERE id='".$id."'");
$rr=mysqli_fetch_array($r);
$email=$rr['email'];
$zag=$rr['zag'];
$them='Ответ на сообщение N '.$id.': '.$zag;
}