@eboy_archibaldo

Почему не работает отправка сообщения с сайта?

<?php 
$name = $_POST['name'];
$email = $_POST['email'];
$msg = $_POST['message'];

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';

// $mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'imap.yandex.ru';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'artur**********@yandex.ru';                 // Наш логин
$mail->Password = '***********;                           // Наш пароль от ящика
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465;                                    // TCP port to connect to
 
$mail->setFrom('test@domain.ru', 'Иван Обрамов');   // От кого письмо 
$mail->addAddress('artur.sidorenko.02@mail.ru', 'Артур Сидоренко');     // Add a recipient
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Данные';
$mail->Body    = '
		Пользователь оставил данные <br> 
	Имя: ' . $name . ' <br>
	E-mail: ' . $email . ''; '<br>
	Сообщение: ' . $message . '';

if(!$mail->send()) {
    return false;
} else {
    return true;
}

?>

JS КОД
$('form').submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "mailer/smart.php",
        data: $(this).serialize()
    }).done(function() {
        $('form').trigger('reset');
    });
    return false;
});
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vertenz
@Vertenz
Мечтетель
Проверьте smtp ssl яндекса, и на всякий случай подключите язык
<?php

$name = $_POST['name'];
$email = $_POST['email'];
$msg = $_POST['message'];

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
//тут бы я добавил еще язык/ Путь, само собой, зависит от установки
$mail->setLanguage('ru', '../vendor/phpmailer/phpmailer/language');
$mail->SMTPDebug = SMTP::DEBUG_SERVER;

$mail->isSMTP(); 
$mail->Host = 'imap.yandex.ru'; //тут скорее 'ssl://smtp.yandex.ru' проверьте на сайте яндекса
$mail->SMTPAuth = true; 
$mail->Username = 'artur**********@yandex.ru'; 
$mail->Password = '***********; 
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465;

$mail->setFrom('test@domain.ru', 'Иван Обрамов'); 
$mail->addAddress('artur.sidorenko.02@mail.ru', 'Артур Сидоренко'); 
//$mail->addAddress('ellen@example.com'); 
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz'); 
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); 
$mail->isHTML(true); 

$mail->Subject = 'Данные';
$mail->Body = '
Пользователь оставил данные

Имя: ' . $name . '

E-mail: ' . $email . ''; '

Сообщение: ' . $message . '';

if(!$mail->send()) {
return false;
} else {
return true;
}

?>
Ответ написан
mahmudchon
@mahmudchon
Для отправки, как минимум, нужно указывать хост не для imap, т.е. smtp.yandex.ru
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы