Перестали приходить письма о заказах

Проблема в том, что перестали отправляться письма о заказе (в админке появляются, смс приходят). Думала дело было в непродленном домене, но его продлили, а письма так и не приходят.

Была ошибка: "[2017-02-12 07:47:44] (ERROR @ /index.php) [FormIt] Произошла ошибка при попытке отправить почту. Невозможно запустить функцию mail."

Проверила работу функции mail — работает.

Не знаю что еще можно сделать — подскажите, пожалуйста.

Версия MODX 2.4.2, minishop2 обновила до последней версии — 2.2.0.

Обновила до 2.5.4 — ничего не изменилось.

P.S. Решала аналогичный вопрос на другом сайте. Повезло со службой поддержки, которая более ответственно подошла к решению вопроса. Вот что мне ответили: «С нашей стороны отправка почты не блокируется. В данном случае сработало правило DMARC, (http://emailexpert.ru/novosti/mail-ru-uzhestochaet-trebovaniya-kak-teper-ne-popast-v-spam)»
Любовь
16 февраля 2017, 18:01
modx.pro
4 032
0

Комментарии: 24

Дмитрий Суворов
17 февраля 2017, 12:01
+1
Если все работало до этого, а сейчас само по себе перестало — то с большой долей вероятности функцию mail отключил Ваш хостер. Обычно отключают из-за вирусной активности.

Отпишите хостеру, спросите в чем дело. А пока они будут отвечать — проверьте сайт на вирусы.
    Любовь
    17 февраля 2017, 12:08
    0
    Спасибо за совет! Была такая идея — сходу не нашла как службе поддержки написать. Проверю.
      Любовь
      17 февраля 2017, 14:34
      0
      Написала, ответили, что «При отправке тестового письма с вашего аккаунта, ошибок не зафиксировано.».
      Я тоже проверяла простейшим скриптом — отправляет. Сегодня создала тестовую форму через AjaxForm письма также не приходят.
      Что можно еще проверить?
        Дмитрий Суворов
        17 февраля 2017, 14:53
        +1
        покажите вызов AjaxForm и саму форму
          Любовь
          17 февраля 2017, 14:55
          0
          [[!AjaxForm?
          	&snippet=`FormIt`
          	&emailTpl=`email.tpl`
          	&form=`form.tpl`
          	&hooks=`email`
          	&emailSubject=`[[+fio]] хочет узнать стоимость обучения "[[*longtitle]]"`
          	&emailTo=`liebe.amore@gmail.com`
          	&validate=`mail:required:email,fio:required, phone:required`
          	&validationErrorMessage=`В форме содержатся ошибки!`
          	&successMessage=`Сообщение успешно отправлено!`
          ]]
          Форма:
          <form action="[[~[[*id]]]]" method="post" class="ajax_form">
          
          <div class="input"><input id="fio" type="text" name="fio" placeholder="Ваше имя">
          <span class="error_fio">[[+fi.error.fio]]</span></div>
          <div class="input"><input id="mail" type="email" name="mail" placeholder="Email">
          <span class="error_mail">[[+fi.error.mail]]</span></div>
          <div class="input"><input id="phone" type="text" name="phone" placeholder="Телефон">
          <span class="error_phone">[[+fi.error.phone]]</span></div>
          <input type="hidden" value="[[+pagetitle]]" name="pagetitle" id="pagetitle">
          <input type="hidden" value="[[+tv.time]]" name="time" od="time">
          <input type="hidden" value="[[+tv.teacher]]" name="teacher" id="teacher">
          <button type="submit" class="btn btn-primary">[[%af_submit]]</button>
          </form>
           [[+fi.success:is=`1`:then=`
              <div class="alert alert-success">[[+fi.successMessage]]</div>
              `]]
              [[+fi.validation_error:is=`1`:then=`
              <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
              `]]
          На другом сайте такая работает. При отправке этой также пишет, что сообщение успешно отправлено.
            Дмитрий Суворов
            17 февраля 2017, 15:04
            +1
            Попробуйте перенести параметр &hooks на второе место.
            В самой форме у инпутов в id добавьте префикс af_. Чтобы получилось, например
            id="af_mail"
              Любовь
              17 февраля 2017, 15:08
              0
              Прописала, пишет что отправлено, но письма нет…
      Иван Бондаренко
      17 февраля 2017, 15:40
      0
      Проверьте спам папку в вашем ящике. Может письма просто начали падать в спам…
        Любовь
        17 февраля 2017, 15:50
        0
        Первым делом проверила… К сожалению, нет.
          Иван Бондаренко
          17 февраля 2017, 16:00
          +1
          Попробуйте отправить письмо на другой ящик другого сервиса (mail.ru например). Может сам gmail.com блокирует письма, даже до спама не доходит. У меня такое было.
            Любовь
            17 февраля 2017, 16:30
            0
            И это попробовала. Вообще с заказами должно приходить на mail.ru и на почту домена.
            god2016
            17 февраля 2017, 16:30
            0
            попробуйте использовать другую почту, без точки в адресе вашей почты.
          Raimei
          17 февраля 2017, 16:03
          0
          Проверьте консоль. Может какой-то JS перебивает?

          Сегодня ночью фиксил срочный заказ с подобным вопросом. Ну и чем черт не шутит, FormIt попробуйте переустановить. И вкладку SMTP в настройках проверьте.

          UPD: проверьте на существование
          &emailTpl=`email.tpl`

          Нет, я не шучу. Всякое бывает, иногда мелочи функционал убивает. Хотя казалось бы...
            Любовь
            17 февраля 2017, 16:33
            0
            К сожалению нет. Сам js сообщает что письмо отправлено успешно.
            Проверила — есть, переустановила %) безуспешно. SMTP я не настраивала изначально.
            Странно, что обычный php скрипт отправляет, а формы пишут что отправлено, но писем нет.
              Дмитрий Суворов
              17 февраля 2017, 21:17
              0
              попробуйте сделать отправку просто через FormIt, будет ли отправлять?
                Любовь
                17 февраля 2017, 22:15
                0
                Вот вроде простая форма, а не отправляется даже на другом, рабочем сайте…
                [[!FormIt?
                   &hooks=`email,redirect`
                   &emailTpl=`email.tpl`
                   &emailTo=`liebe.amore@gmail.com`
                   &emailSubject=`Письмо с сайта`
                   &redirectTo=`1`
                   &validate=`name:required`
                ]]
                 
                [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
                 
                <form action="/" method="post" class="form">
                 
                    <label for="name">Ваше имя :</label>
                    <span class="error">[[!+fi.error.name]]</span>
                    <input type="text" name="name" id="name" value="[[!+fi.name]]" />
                
                    <label for="email">Email :</label>
                    <span class="error">[[!+fi.error.email]]</span>
                    <input type="text" name="email" id="email" value="[[!+fi.email]]" />
                  
                    <input class="submit_button" type="submit" value="Отправить" />
                    
                </form>
                  Любовь
                  17 февраля 2017, 22:27
                  0
                  [[!FormIt?
                     &hooks=`email`
                     &emailTpl=`email.tpl`
                     &emailTo=`liebe.amore@gmail.com`
                     &emailSubject=`Письмо с сайта`
                  
                  ]]
                   
                  [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
                   
                  <form action="[[*uri]]" method="post" class="form">
                   
                      <label for="name">Ваше имя:</label>
                      <span class="error">[[!+fi.error.name]]</span>
                      <input type="text" name="name" id="name" value="[[!+fi.name]]" />
                  
                      <label for="email">Email:</label>
                      <span class="error">[[!+fi.error.email]]</span>
                      <input type="text" name="email" id="email" value="[[!+fi.email]]" />
                    
                      <input class="submit_button" type="submit" value="Отправить" />
                      
                  </form>
                  Вот так сработало!)) Только что тогда это значит?
                    Дмитрий Суворов
                    17 февраля 2017, 22:32
                    0
                    Поменялся action только у form? Его вообще в принципе указывать не нужно. Правильный form выглядит как-то так (AjaxForm):

                    <form action="" method="post" class="ajax_form">
                      Дмитрий Суворов
                      17 февраля 2017, 22:35
                      0
                      Вообще рекомендую свою форму сверить с той, которая при установке AjaxForm по дефолту создается (чанк tpl.AjaxForm.example)
                        Любовь
                        18 февраля 2017, 06:21
                        0
                        Так я же проверяю работу Formit)
                        Дмитрий Суворов
                        17 февраля 2017, 22:37
                        0
                        Еще бывает такое, что если почта-отправитель (та, что в параметре emailsender) является почтой @mail.ru, то при попытке отправить письмо на тот же ящик — тоже ничего не придет. Но это не в Вашем случае
                          Raimei
                          18 февраля 2017, 00:22
                          0
                          Точно! action должен быть чист. По-крайней мере в tpl.AjaxForm.example экшн пустой.
                    Василий Наумкин
                    17 февраля 2017, 23:11
                    +3
                    &emailTo=`liebe.amore@gmail.com`
                    Почта Google оооочень капризна и кидает письма в спам по своим собственным, неизвестным науке, причинам.
                    DKIM, SPF, PTR, DMARC — плевать на всё, кидаю в спам что хочу, законом не запрещено.

                    Так что я крайне советую настроить для отправки SMTP от Яндекс.
                      Любовь
                      18 февраля 2017, 06:19
                      0
                      Главная проблема, что не отправляются заказы из minishop2. Может как-то по-другому надо тестировать отправку писем в этом случае? Эту форму я для тестирования сделала. А почты менеджеров одна на mail.ru, другая на почте домена (настроена почта для домена yandex.ru).
                      Ну и в спаме пусто. И ошибок больше нет про то что «Невозможно запустить функцию mail»
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      24