Задать вопрос
@olyabolya

Заявка с сайта через SMTP уходит, но письмо не приходит. Почему?

Здравствуйте. Проблема такая: оформляю заявку на сайте, пишет что заявка отправлена, но по итогу не приходит. Вот код обработчика:
<?php
// Файлы phpmailer
require_once ('PHPMailer.php');
require_once ('SMTP.php');
require_once ('Exception.php');
$mail = new PHPMailer\PHPMailer\PHPMailer();
// Переменные
$name = $_POST['name'];
$number = $_POST['phone'];
$email = $_POST['email'];
// Настройки
$mail->isSMTP(); 
$mail->Host = 'smtp.mail.ru'; 
$mail->SMTPAuth = true; 
$mail->Username = 'username; // Ваш логин 
$mail->Password = 'password'; // Ваш пароль
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465;
$mail->setFrom('username'); // Ваш Email
$mail->addAddress('username'); // Email получателя
// $mail->addAddress('example@gmail.com'); // Еще один email, если нужно.

// Прикрепление файлов
// $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
// $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
// $mail->addAttachment($_FILES['upload']['tmp_name'], $_FILES['upload']['name']);

 
// Письмо
$mail->isHTML(true); 
$mail->Subject = "Новая заявка на консультацию"; // Заголовок письма
$mail->Body = "Имя $name . Телефон $phone . Почта $email"; // Текст письма

Код js:
$(document).ready(function() {

// Добавляем маску для поля с номера телефона
$('#phone').mask('+7 (999) 999-99-99');

  $( "form" ).submit( function() {
    if ( !this.checkValidity() )
      alert('Пожалуйста, заполните обязательные поля.');
    else  {
      $.ajax( {
        type: "POST",
        url: "/form/mail.php",
        data: $( this ).serialize()
      } ).done( function() {
        alert( "Заявка принята! В ближайшее время наш менеджер с Вами свяжется. js" );
      } );
    }
    return false;
  } );
} );


Код самой формы:
<form class="row" id="form" name="contact" action="" method="POST" novalidate enctype="multipart/form-data">                
    <div class="inputwrap">
    <label for="name">Ваше имя<sup>*</sup></label>
    <input type="text" id="name" required="required" name="name" class="text-input" />
    </div>

    <div class="inputwrap">
    <label for="phone">Контактный телефон<sup>*</sup></label>
    <input id="phone" required type="text" name="phone" class="text-input" placeholder="+7 (800) 000-00-00" required />
    </div>
    
    <span class="result_message"></span>

    <div class="inputwrap checkwrap">
        <input type="checkbox" name="check_agreement" id="check_agreement" required>
        <label for="check_agreement">
            С <a target="_blank" href="/agreement.htm">условиями</a> обработки персональных данных ознакомлен
            </label>
    </div>
    
        <div class="inputwrap" style="float: right;">
        <input type="submit" name="submit" class="button" id="submit" value="Отправить">
    </div>

</form>
  • Вопрос задан
  • 349 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
alex-1917
@alex-1917
Если ответ помог, отметь решением
1. Принимай на ящик в яндексе, про гугл-ящики и про майл-ру-ящики забыть навсегда.
2. Юзай это https://github.com/Ipatov/SendMailSmtpClass
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 14:07
15000 руб./за проект
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект