Я пытаюсь использовать phpmailer для работы вместе с контактной формой, которую я сделал. Первоначально я использовал простой php-код для формы, но это не сработало на сервере веб-компании, поэтому вместо этого они попросили меня использовать phpmailer. Я немного изменил код, чтобы попытаться интегрировать его на страницу контактов, на которой есть контактная форма.
<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.live.com'; // Specify main and backup SMTP servers
$mail->Username = "[email protected]";
$mail->Password = "mypassword";
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->addAddress('[email protected]', 'Sender'); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Message from Website';
$mail->Body = $message; $name;
$mail->From = $email;
if($_POST){
$feedback = 'Thanks for your message';
}
?>
Страница контактов отображается как обычно, и после нажатия кнопки отправки отображается сообщение эхо-отклика. Однако электронная почта не отправляется.
Я отредактировал «Простой пример», найденный здесь: https://github.com/PHPMailer/PHPMailer, и загрузил php на сервер, и это сработало нормально, поэтому я знаю, что информация smtp, которую я использовал, верна и работает.
Можно ли вообще поставить кодировку phpmailer над кодировкой html?
Если да, то что я делаю неправильно?
$mail->From = $email;
неверно$mail->setFrom('[email protected]', 'Mailer');
верно. Вернитесь и попробуйте еще раз. - person cmorrissey   schedule 04.02.2016From
напрямую или с помощью методаsetFrom()
. - person Synchro   schedule 04.02.2016