1
1

Добрый день. У меня такая проблема.Делал всё по видеоуроку.Использую Mamp. Форма при заполнении и нажатии на кнопку Заказать консультацию- выдает "Спасибо за вашу заявку!"-получается что скрипт отрабатывает как и положено.Во вкладке Network-отображается файл smart.php.Но письмо не приходит на почту. Я уже менял smtp- брал от google, yandex,mail-все безуспешно. ниже в виде текста прикладываю smart.php:

<?php

$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];

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 = 'smtp.gmail.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '@gmail.com';                 // Наш логин
$mail->Password = '****************';                           // Наш пароль от ящика
$mail->SMTPSecure = 'ssl';                    // Enable TLS encryption, `ssl` also accepted
$mail->Port =465 ;                                    // TCP port to connect to
 
$mail->setFrom('@gmail.com', 'Pulse');   // От кого письмо
$mail->addAddress('prosvirov_ro@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>
    Номер телефона: ' . $phone . '<br>
    E-mail: ' . $email . '';

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

?>

Ниже прикладываю script.js-ту его часть которая отвечает за письма:

    $('form').submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "mailer/smart.php",
            data: $(this).serialize()
        }).done(function() {
            $(this).find("input").val("");
            $('#consultation, #order').fadeOut();
            $('.overlay, #thanks').fadeIn('slow');

            $('form').trigger('reset');
        });
        return false;

});
   Помогите пожалуйста, 3 дня не могу решить проблему!!!


Роман Просвиров
2 years ago






Могут быть разные причины, если код четко по уроку и без ошибок, то стоит еще обратить внимание на такие моменты:

Во-первых, посмотрите урок от преподавателя, по-моему должен быть урок с разбором частых проблем почему не отправляется/не приходит почта.

Во-вторых, думаю стоит попробовать разные настройки smtp. В поиске набирайте "настройки smtp google" например, и ищите сами настройки.

Для google например можно проверить также параметры smtp такие (судя по инструкции от самого google) 

$mail->SMTPSecure = 'tls'; 
$mail->Port =587 ;     

В третьих, стоит попробовать с реального хостинга. Были случаи когда черел локальный сервер не работало, а при переносе сайта на реальный хостинг, отправка работала отлично и письма приходили.

Также могут быть настройки в самой почте, что-то типа "разрешать доступ со сторонних приложений". Например, такую опцию требовалось выставлять при отправке через гугл-бизнес почту.

Ну и могут быть еще спам-фильтры почтовых сервисов, т.е. почта может не приходить если она блокируется антиспамом.

Вадим Семенов
2 years ago

Один ответ