Что делать если в Contact form 7 не приходят письма
Недавно возникла проблема, преимущественно на сайтах WordPress. Не работает Contact form 7 не отправляет письма. Мы с моим коллегой, верстальщиком смогли решить данную проблему.
Началось все с того, что мне написали несколько человек, сказав, что не могут отправить письмо через форму обратной связи. При нажатии на кнопку «Отправить» просто крутится иконка отправки и ничего не происходит.
Оказалось, что плагин Contact form 7 действительно не отправляет письма. Мы стали искать причину. Все наши пострадавшие, были пользователями «яблочной» продукции. То есть, они отправляли сообщения, пользуясь Сафари браузером.
Мы выяснили, что письма не отправляются только с операционных систем MacOS и IOS. А точнее из браузера Safari версии 11.1 и выше (на iOS начиная с версии 11.3). И при условии, если в форме обратной связи предусмотрено прикрепление файла.
Если пользователь не прикрепил никакого файла к сообщению, то браузер блокирует ajax запрос, который используется во всех новых версиях Contact form 7 для отправки.
Ajax – аббревиатура значит Asynchronous Javascript and XML. Простыми словами – это технология, благодаря которой страница полностью не обновляется, а обновляется лишь ее часть.
В Contact form 7, благодаря запросу Ajax, сообщения отправляются без перезагрузки страницы. Но, в последних версиях браузера Safari появился баг, который выдает ошибку и не дает отправить письмо без прикрепления к нему файла.
Мы потратили несколько часов, чтобы во всем разобраться. Если и у вас, Contact form 7 не отправляет письма, вот вам готовая инструкция.
Решение
Содержание
- 1 Решение
- 2 Настройка Contact Form 7
- 3 Ошибки в теме
- 4 Конфликты в плагинах
- 5 Письма попадают в СПАМ
- 6 Проблема с хостингом
- 7 Настройка почты в WordPress
- 8 Не работает contact form 7 из-за вашей темы
- 9 Конфликт плагинов с Contact Form 7
- 10 Не приходят сообщения в contact form 7
- 11 Проблемы почему Contact Form 7 не отправляет письма.
Первый способ (быстрый)
Самый банальный, но подойдет тем, кому важно чтобы contact form 7 заработал, но копаться в коде своего сайта вы боитесь.
Вам достаточно убрать из формы возможность прикреплять файлы.
Именно так мы и поступили сразу, как узнали. Разбираться в проблеме днем, было некогда… Да и решение мы нашли не сразу… А люди днем активно пишут и надо чтобы письма отправлялись, хоть и без прикрепления дополнительных файлов.
А вот уже ночью, когда рабочий день закончился, мы во всем разобрались и все исправили. И делимся этим с вами.
Это полноценное решение, берите и пользуйтесь )
Второй способ (правильный)
Чтобы плагин Contact form 7 снова заработал у пользователей Safari, вам нужно отключить использование технологии Ajax.
Делается это не сложно.
Надо просто добавить в файл function.php вашей темы WordPress вот этот код:
function wpcf7_load_js_not_safari11() {
global $is_safari;
if($is_safari) {
return false;
} else {
return true;
}
}
add_filter( ‘wpcf7_load_js’, ‘wpcf7_load_js_not_safari11’ );
После добавления этой модификации в ваш шаблон WordPress, Contact form 7 снова будет отправлять сообщения обычным способом, с перезагрузкой страницы, без использования Ajax.
Надеюсь, с выходом нового обновления, в браузере Сафари пофиксят этот баг. А пока правим сами.
P.S. Если у ваших коллег, Contact form 7 тоже не отправляет письма, не жмотьтесь, дайте им ссылку на эту статью 😉
С уважением, Яна Ходкина и ее коллега веб-мастер, который не захотел писать свое имя 🙂
yanakhodkina.com
Добрый день!
Нужна помощь в решении вопроса по использованию плагина Contact Form 7
Проблема следующая:
У нас есть основной сайт компании: на одном шаблоне и к нему через админку WP по сетке привязаны пять сайтов-поддоменов (мультисайты). вида: и т.д., построенные на другом шаблоне.
На одном из сайтов-поддоменов (например, на ), при помощи плагинов Contact Form 7 и Easy FancyBox я создал форму обратной связи и поместил ее на кнопку.
Ошибка: Контактная форма не найдена.
Код разместил в файле footer.php шаблона, чтобы кнопка отображалась на всех пяти поддоменах.
<div class="contact-us">
<a id="upbutton" href="#contact_form_pop_up" class="fancybox-inline" onclick="smoothJumpUp(); return false;">
<img style="bottom: 14%; right:5%; width: 80px; position:absolute;" src=" http://gkvector.com/wp-content/uploads/2017/03/trubka.png" alt="">
</a>
</div>
<div style="display:none" class="fancybox-hidden">
<div id="contact_form_pop_up">
<strong>Закажите обратную связь прямо сейчас!</strong>
<?php echo do_shortcode(‘
Ошибка: Контактная форма не найдена.
’); ?> </div>
</div>
<style>
#upbutton {
height: 60px;
width: 80px;
bottom: 110px;
right: 70px;
cursor: pointer;
display: block;
position: fixed;
z-index: 999;
}
</style>
На поддомене где в админке WP создана CF7, указанная в коде, форма работает идеально.
Однако на другом поддомене, например, , форма уже не запускается, ибо в его настройках формы с id="6999" просто напросто нет… Выдает ошибку:
Закажите обратную связь прямо сейчас!
Ошибка: Контактная форма не найдена.
Если создать на этом поддомене свою аналогичную форму обратной связи, то у нее будет уде другой номер ID… Если полученный новый шорткод вставить в код, то все заработает, но отключится на первом поддомене…
Как быть, есть ли какое-то решение?
WP Version 4.3.2
forundex.ru
Настройка Contact Form 7
Тут нам придется разобраться в четырех вкладках — «Шаблон формы«, «Письмо«, «Уведомления при отправке формы» и «Дополнительные настройки«. Рассмотрим каждую в отдельности.
Шаблон формы
Пожалуй, самая важная из вкладок настроек плагина. Шаблон формы представляет из себя редактор кодов плагина. Тут уже находятся существующие короткие коды стандартной контактной формы. Можно их удалять или добавлять новые. Рассмотрим назначение всех кодов, доступных в редакторе.
1. text — текстовое поле для ввода короткого текста в одну стоку (имя, тема сообщения и т.д.).
2. email – поле для ввода адреса email. Письмо с некорректным адресом не удастся отправить, именно этим и отличается поле от простого текстового. (Оба этих поля обычно обязательны к заполнению, что исключает рассылку анонимных сообщений).
3. URL — адрес сайта или страницы.
4. tel — номер телефона, не надо объяснять что это такое.
5.1 number — число (spinbox), количество чего-либо, например заказываемого товара.
5.2 number — число (slider), что это за шляпа, я так и не понял. Скажу спасибо тому, кто мне объяснит в комментариях его назначение.
6. date — дата в формате дд.мм.гггг.
7. text area — текстовое поле, вмещает в себя текст большого объема, собственно само сообщение.
8. drop-down menu — выпадающее меню, создаст выпадающее меню.
9. Checkboxes – генерирует «чекбоксы». Пользователь выбирает нужное установкой галочек.
10. Radio buttons – в буквальном переводе «радиокнопки». Настройка, как и в выпадающем меню. Пользователь выбирает нужный вариант из предложенных.
11. Acceptance – по принципу «С правилами ознакомлен и согласен». Пока пользователь не поставит галочку, кнопка отправки сообщения будет не активна.
12. quiz — вопрос, защита от спам-роботов. Перед отправкой сообщения необходимо ответить на однозначный вопрос, который вы зададите в настройках. Перед вертикальным слешем пишется вопрос, а за ним правильный ответ.
13. reCaptcha – тоже защита от спама, но с помощью генерируемой картинки с символами, которые необходимо ввести в поле перед отправкой сообщения. (Спам через контактную форму рассылается очень редко. Советую не использовать защиту, чтобы не раздражать отправителя).
14. file — отправка файла, генерирует код для создания кнопки выбора файла и прикрепления его к письму.
15. submit — кнопка отправки, сама кнопка, нажатием на которую, сообщение отправляется.
!!! Для наглядности, ближе к концу статьи, я размещаю форму, созданную из всех вышеперечисленных тегов, кроме каптчи. Можете оценить их в действии. Ни одно поле в форме необязательно к заполнению! Разрешаю вам наслать мне разных анонимных сообщений 🙂 🙂 :-). Цензура отсутствует.
Для примера рассмотрим процедуру добавления кода прикрепления файла «file» в контактную форму. Процесс этот довольно прост. Выполните следующие действия:
- — Поставьте курсор в то место редактора, куда должна встать кнопка прикрепления файла к письму.
- — Нажмите на кнопку «file» в верхней панели редактора шаблона формы. Откроется следующее окно.
- Если поставить тут галочку, пользователь не сможет отправить сообщение без прикрепленного файла. Обратите внимание, в коде кнопки за file появится звездочка. Эту опцию можно назначить любому полю вашей контактной формы.
- Тут итак все понятно. Скопируйте надпись в этом поле, вам она обязательно понадобится на следующей вкладке «Письмо«. Иначе прикрепленный файл просто не дойдет до адресата.
- Сюда впишите разрешенный размер файла. Если оставить поле пустым, то по умолчанию ограничитель будет равен 1 mb . Допускается вписывать только целые числа просто в байтах, в mb или в kb.
- Разрешенные типы файлов вписывайте через вертикальный слэш. Если ничего не писать, то по умолчанию будут разрешены файлы с расширениями jpg, jpeg, png, gif,pdf, doc, docx, ppt, pptx, odt, avi, ogg, m4a, mov, mp3, mp4, mpg, wav, wmv.
- Если не знаете для чего нужны поля Id attribute и Class attribute, то и заполнять их не следует. А завершающим действием останется только нажатие кнопки «Insert Tag«.
В редакторе формы можно дописать над кодом «Прикрепить файл«, чтобы посетители не ломали голову о назначении этой кнопки. И не забудьте вставить теги абзаца и переноса строки, о которых я упоминал выше.
Приступим к рассмотрению следующей вкладки — «Письмо«.
Письмо
Итак, после создания своей контактной формы перейдите на вкладку «Письмо». Эта часть настроек отвечает за доставку, внешний вид и информативность писем, пришедших адресату, то есть Вам.
- Обязательно впишите сюда адрес своей электронной почты, на который будут приходить сообщения. Иначе, почта просто не дойдет.
- Два коротких кода «[your-name]» и «<[your-email]>» сообщат имя отправителя и его E-mail.
- Тема сообщения, с которой к вам обращается посетитель.
- ——
- Само тело сообщения. Вы можете использовать для информативности любые коды, которые использовали в шаблоне (они представлены в шапке вкладки, сразу под надписью «In the following fields, you can use these mail-tags:«. Сопровождайте коды в теле сообщения понятными пояснениями, например От кого, Тема сообщения, Тело сообщения.
- Можно не получать пустые строки с полей, необязательных к заполнению, если отправитель их не заполнил. Попробуйте также опцию HTML формата письма.
- В поле «File Attachments» обязательно вставьте код для вложения, если вы поставили кнопку прикрепления файла. Об этом я говорил выше.
- Опцию «Письмо 2» активируют в качестве дополнительного почтового шаблона для автоответчика. Об этой опции и как ей пользоваться я напишу немного позже.
Уведомления при отправке формы
Тут все переведено и понятно, даже скриншот делать не буду. Всплывающие сообщения, написанные в полях вкладки, получит отправитель при неправильном заполнении формы, успешном или неуспешном отправлении сообщения.
С переводом на русский язык тут пока проблем нет. Однако, с каждым обновлением плагина картина может меняться, как на других вкладках. Если это произойдет, сообщите в комментариях, переведем.
Дополнительные настройки
Эта часть статьи еще не готова к публикации. Скажу лишь, что тут вы можете настроить отслеживание заполнения форм пользователями, например в Яндекс метрике.
Можно еще изменить размер полей в контактной форме. Размер текстового поля в одну строчку задается числовыми значениями в конце тега перед закрывающейся квадратной скобкой. Например, вот тег для имени с новыми размерами — [text* your-name 50/41]. Здесь 50 — длина текстового поля, а 41 — количество символов, которое можно в это поле прописать. Если ничего не прописывать, длина текстового поля по умолчанию равняется 40, а разрешенное количество символов до бесконечности.
Вот тег с измененными размерами для сообщения — [textarea your-message 80×10]. Здесь 80 — длина поля в символах, а 10 — его высота в строчках. Экспериментируйте с этими циферками пока размеры полей вашей контактной формы не будут гармонично вписываться в дизайн страницы. Ниже картинка для наглядности со стандартной контактной формой.
Вот и все настройки плагина Contact Form 7.
Ошибка при отправке сообщения. Попытайтесь позже или обратитесь к администратору сайта.
Вот такое сообщение всплывает под формой Contact Form 7 в некоторых случаях после попытки отправить сообщение администратору сайта.
1. Почти всегда ошибка кроется не в плагине, а в php функции mail() сервера. Либо эту функцию хостинг не поддерживает, либо функция не включена или работает с ошибками. Если функция php_mail() поддерживается хостингом, то очень часто причиной сбоя отправки сообщений является:
- — Тестовый период хостинга. В этот период функция отправки почты выключена по умолчанию. Решение – оплатить услуги хостинга;
- — Сбой функции на сервере. Решение – обратиться в службу поддержки хостинга. Часто, для восстановления функции, достаточно отлинковать домен, а затем прилинковать его обратно.
2. Намного реже ошибки в отправке сообщений возникают из-за конфликта Contact Form 7 с другим плагином. В этом случае помогает поочередная деактивация плагинов. После деактивации которого Contact Form 7 заработает, тот и является конфликтным.
P.S. Коллеги, проверяйте папку СПАМ вашего почтового ящика после отправки письма самому себе при тестировании работы плагина. Это самая распространенная причина «недоставки» писем адресату, особенно на gmail.
wordpress-book.ru
Ошибки в теме
Часто проблема неработоспособности контактной формы может быть вызвана неподходящей темой или ошибкой в ее JavaScript-коде. Чтобы это выяснить, следует активировать другую тему, перейдя в админ-панели Внешний вид -> Темы. После этого необходимо еще раз проверить работу формы. Если после этого сообщения отправляются, и почта работает, то это значит, что нужно править ошибки в теме, так как именно в ней и заключается причина ошибки.
Конфликты в плагинах
Часто случается, что Contact Form 7 может не работать из-за того, что другие плагины сайта конфликтуют с ним. В результате WordPress может не отправлять почту. Чтобы исключить эту проблему, следует поочередно отключить остальные плагины один за одним, каждый раз обновляя страницу обратной связи. Если после отключения одного из плагинов контактная форма заработала, значит Вам удалось выяснить проблему. Ищите, чем заменить конфликтующий плагин. Если же были отключены все плагины, а Contact Form 7 так и не работает, нужно искать ошибку дальше.
Письма попадают в СПАМ
Возможен также и такой вариант, что письма попадают в СПАМ. Если писем приходит достаточно много, спам-фильтр может начать их блокировать. Чтобы избежать этого, нужно зайти в настройки почты, которую Вы используете для WordPress-сайта, и отметить важные письма как не спам (если Вы все-таки нашли их в папке со спамом). После этого почтовый сервис должен впредь их распознавать как не спамные.
Проблема с хостингом
Часто ошибка бывает вызвана проблемами с хостингом. Очень часто это может выглядеть так: сообщение отправляется, но не приходит на почту. Это означает, что Ваш хостинг по тем или или иным причинам перестал отправлять письма. В таком случае необходимо будет выполнить самостоятельную настройку отправки почты на WordPress без участия Вашего хостинг-провайдера. Необходимо связаться с технической поддержкой Вашего хостинг-провайдера и выяснить причины проблемы. В этом случае Вы не будете получать письма не только из контактной формы WordPress, но и сообщения о новых комментариях на блоге.
Но чаще всего подобные проблемы возникают при переезде на новый хостинг. В данном случае Вам нужно обратить внимание на настройку почты на WordPress.
Настройка почты в WordPress
В WordPress имеется встроенная функция отправки писем, но не на всех хостингах работает корректно. Потому, если на сайте WordPress не отправляется почта, потребуется установить плагин WP Mail SMTP, который активизирует возможность подключаться к SMTP-серверу.
wpschool.ru
Приветствую вас дорогие друзья!
В этой статье я вам расскажу о том, почему Contact Form 7 не отправляет письма и как решить проблему с отправкой писем для плагина Contact Form 7 и для всего WordPress сайта в целом.
На самом деле, проблема с отправкой почты для Contact Form 7 возникает очень часто. В первую очередь, это зависит от того на каком хостинге размещен ваш сайт, а так же от того, какие плагины у вас установлены. Ну и, собственно говоря, от самого плагина Contact Form 7, потому что иногда у него, все-таки, случаются глюки.
Для устранения проблемы с отправкой писем Contact form 7 нам нужно будет настроить отправку почты через SMTP. Для WordPress существует множество различных плагинов для реализации данной задачи, но я, в основном работаю с плагином WP Mail SMTP потому как он достаточно прост в настройке, и он меня еще не разу не подводил. Поэтому давайте установим этот плагин и посмотрим, как его нужно настраивать.
Копируем название плагина и переходим в админку нашего сайта. Здесь переходим в «Плагины» => «Добавить новый» и устанавливаем его так же, как и другие плагины. После его активации в разделе «Настройки» появится новый пункт, который называется «email».
- 1.Первое что нам нужно сделать — это заполнить поле «From Email». Сюда вы вставляете адрес вашего почтового ящика размещенного на сервисе Яндекс или Gmail.
Для решения проблемы c отправкой писем Contact form 7 я создала специальный почтовый ящик на Яндекс, поэтому в этом поле я указываю его.
- 2.Далее, в поле «From name» можете написать свое имя или название сайта либо оставить его пустым.
- 3.В графе «Mailer» должна быть выбрана опция «Send all WordPress email via SMTP».
- 4.В разделе «SMTP Options», в параметре «SMTP Host», вместо значения localhost прописываем smtp.yandex.ru.
- 5.Значение «SMTP Port» оставляем по умолчанию. Если вы будите использовать почтовый ящик Gmail, то параметры SMTP Host и SMTP Port будут отличаться.
- 6.В параметре «Encryption» указываем «Use TLS encryption».
- 7.В параметре «Authentication», ставим «Yes: Use SMTP authentication»
- 8.Теперь, в поле «Login» вам нужно ввести адрес почтового ящика и в поле «Password» — пароль к нему. Т.е., у вас отправка письма будет осуществляться как бы через ваш почтовый ящик на сервисе.
- 9.После того, как все настройки заданы, нажимаем на кнопку «Сохранить изменения».
Теперь нам нужно проверить, правильно ли мы все настроили. Для этого воспользуемся опцией «Send test email». В этом поле я укажу свой почтовый ящик на Яндекс и отправлю тестовое сообщение.
Здесь нам нужно будет ввести адрес почтового ящика, на который вам бы хотелось получать все ваши письма, заявки, уведомления с данного сайта. Это не обязательно должен быть почтовый ящик, который вы использовали в настройке, это может быть любой другой. Желательно, что бы этот email находился не на mail.ru, потому, что они ужесточают свои спам-фильтры, и все письма, которые отправляются в автоматическом режиме с какого-то сайта, либо какого-то сервиса могут попадать в спам. Поэтому, лучше использовать тот же Яндекс или Gmail.
После нажатия на кнопку «Send Test» мы увидим сообщение о том, что наше письмо было отправлено, после чего мы можем перейти в почтовый ящик и проверить, дошло ли оно.
Итак, я получила вот такое сообщение:
В тексте написано, что данное сообщение было сгенерировано плагином WP Mail SMTP. Вверху, в адресе отправителя, мы видим данные, которые указывали в настройке плагина.
То есть email, который я указала в настройках плагина, указывается в качестве отправителя.
Теперь если я попробую отправить сообщение с формы Contact Form 7, то оно будет успешно доставлено.
Данный плагин так же можно использовать в том случае, если у вас не только с Contact Form 7 не приходят письма, а в целом, почта с сайта WordPress не доходит на ваш email. То есть, в этом случае, вы можете настроить отправку через SMTP, и таким образом решить эту проблему.
Я сталкивалась с такими хостингами, у которых возможность отправки через SMTP активировалась только на каких-то более дорогих тарифных планах, либо за отдельную плату.
Конечно, на большинстве хостингов эта функция есть, проблем с ней ник каких не возникает. Но если вдруг у вас, при настройке отправки писем, ни чего не получается, то есть смысл написать в техподдержку вашего хостинга и уточнить, осуществляется ли у них отправка почты через SMTP и в чем могут выть вызваны возникающие ошибки, возможно это проблема самого хостинга.
Вы также можете посмотреть видео инструкцию по данной теме:
Что же, на этом у меня все. Надеюсь, эта статья была для вас полезна, и теперь у вас не будут возникать проблемы с отправкой писем как для Contact form 7, так и для всего сайта WordPress в целом. Пишите комментарии, подписывайтесь на мою рассылку и не забудьте подписаться на новости блога и мой канал на YouTube чтобы не пропустить ничего интересного.
С уважением Юлия Гусарь
impuls-web.ru
Не работает contact form 7 из-за вашей темы
к менюДля начала опишу основную причину всех проблем с CF7 — плохая тема или ошибка в яваскрипте темы. Например вы забыли указать вызов таких функций как wp_head(); и wp_footer(); в шапке и футере соответственно. Или же у вас ошибка в яваскрипт коде, которая мешает работе Ajax на вашем сайте. Для исключения проблем с темой стоит зайти в админку вордпресса, вкладка «Внешний вид» — «Темы»
и в ней нажать просмотреть дефолтную тему, вот как на рисунке:
И в таком тестовом режиме проверить работу отправки сообщений. Если форма обратной связи заработает следующие шаги вам читать не нужно, надо решать проблему в своей теме, она и есть основная причина всех проблем.
К типичным проблемам с темой можно отнести ошибки или пустые строки в ответах, которые портят json формат.
Долго крутится загрузка / лоадер в Contact Form 7
к менюСудя по комментариям, это довольно частая проблема, когда после нажатия на кнопку отправить заначек загрузки крутится но сообщений никаких не выводится. При этом бывает что contact form 7 не приходят письма, а бывает что приходят. Все зависит от того, как обработались отправленные данные.
Для начала, что же такое лоадер?
Это вот такой маленький значок загрузки возле вашей кнопки отправить:
Очень часто бывает, что этот значок не исчезает и крутится постоянно.
Сейчас я попробую пошагово пояснить как отследить такую проблему.
Нам нужен:
- браузер Google Chrome
- страница вордпресс с ошибкой в CF7 (если вы сюда попали значит она у вас уже есть 🙂 )
1) Запускаем браузер Google Chrome и в нем открываем нашу страницу с Contact Form 7.
2) Нажимаем в браузере правую кнопку мыши и в выпадающем окне выбираем «Просмотреть код», как на скине:В итоге у нас появится вот такое окно в низу экрана браузера, как на кликабельном скине ниже (Вам нужно кликнуть сначала на значок под стрелочкой «1», а потом на «2»):
3) У своей формы нажимаем кнопку отправить сообщение, перед этим конечно нужно заполнить все поля формы. Не зависимо от результата у вас должно появится вот такого плана сообщение: На название страницы (у меня test-page) можно кликнуть и мы увидим вот такой рисунок:
Забегая на перед скажу что это сообщение об успешной отправке, то есть у вас должно быть точно так же в идеале.
Ниже, я покажу вам пару скинов как может выглядеть ошибка и что вы в этом дебагере увидите (смотрите кликабельные скины):
Чтобы решить такую проблему достаточно найти и удалить ошибку или лишний текст в коде.
Конфликт плагинов с Contact Form 7
к менюContact Form 7 может не работать по той причине, что другие плагины конфликтуют с CF7 вордпресс. Причина все та же: пустые строки в аякс ответах.
Многие спрашивают почему лоадер крутится, а отправка не идет?
Одним из решений этой неисправности есть (нажимайте на цифру и читайте пошаговую инструкцию):
Не приходят сообщения в contact form 7
к менюСамый простой пример, когда contact form 7 не работает — сообщения отправляются:
«Ваше сообщение было отправлено успешно. Спасибо.»
А реально сообщения не приходят на почту. Причин такого трабла довольно много сейчас попробуем пробежаться по основным:
Сообщения с contact form 7 попадают в спам
к менюДа, иногда такое бывает. Ваш спам фильтр сердится на большое количество писем с одного адреса и начинает блокировать их. Чтобы найти сообщения с contact form 7, которые были отправленные, но попали в спам войдите в свой почтовик и скажите ему что это не спам. Умные почтовики после этого будут нормально показывать новые письма.
Contact Form 7 не работает из-за хостинга
к менюВозможна ситуация, когда ваш хостинг по какой либо из причин перестает отправлять письма, точнее вашему скрипту он говорит что письмо будет отправлено и ставить его на очередь. А очередь не продвигается. Такая ситуация возможна при атаке на сервер или массовую рассылку писем. Решить эту проблему без участия вашего хостинг провайдера — не возможно, нужно писать письмо в тех. поддержку и ждать ответа. Иногда на это уходит больше дня, особенно если таких как вы несколько сотен человек :-).
Совсем забыл, бывают хостинги, которые в нычку блокируют отправку сообщений или делают вид что забыли включить smtp или еще что нибудь. Такая ситуация у меня приключалась 2 раза с хостингами на буквы «tim…» и «ht…» (не хочу делать черного пиара) так как не знаю случайно у них это получилось или это закономерность. Письмо с текстом «Не отправляется почта с вашего сервера… До переноса сайта на этот хостинг все работало…» решает проблему очень быстро :-).
Если ваш хостинг начинается на эти буквы, или возможно он им подражает, трабл contact form 7 не отправляет письма можно решить написав запрос в тех поддержку.
help-wp.ru
Contact form 7 — известный плагин для WP, который позволяет делать самые разные формы. Но иногда случается такое, что он перестает отправлять письма на указанный в его настройках почтовый адрес.
На самом деле — почти всегда Contact form 7 тут не при чем, а всему виной спам-фильтры почтовиков, потому что они считают ваше письмо мега-спамом такого уровня, что оно даже в папку «Спам» не падает, а просто убивается на подлете. И очень редко глючит сам сервер, а именно функция PHP — mail.
Итак, поехали исправлять.
Первым делом нужно проверить работает ли у вас на хостинге этот самый mail, для этого создаем на хостинге файл testmail.php с таким содержимым
<?php var_dump(mail("[email protected]","Test","Test")); ?>
Вместо [email protected] нужно конечно же написать свою почту, и файл залить туда, где вы смождете открыть его браузером
И запускаем его, перейдя по например адресу http://вашсайт/testmail.php
Если будет написано bool(true) — то значит все в порядке и почта УХОДИТ (но не доходит), если же будет написано что-то другое — то скопируйте это и пишите в ТП хостера.
Итак mail работает, но почта не доходит.
Первый вариант — это повысить уровень доверия почтового сервера в вашему домену, гуглите что такое dkim
и SPF и действуйте.
Второй вариант — это просто завернуть все сообщения с вашего сайта через SMTP, как обычный почтовый клиент.
Для этого зарегистрируйте новый почтовый ящик, например для Яндексе (или используйте свой) и установите на WP плагин https://ru.wordpress.org/plugins/easy-wp-smtp/. Вот скрин его настроек, я думаю все должно быть понятно
После заполнения учетных данных, можно сразу проверить их корректность, введя в эти поля
E-mail адрес, тему и сообщение соответственно.
После этого, если все корректно настроено — то письма будут доходить.
P.S. В Сети также пишут, что необходимо чтоб адрес почты указанный в Contact form 7 совпадал с адресом указанным в From Email Address и SMTP username — этот момент я не проверял, т.к. у меня он совпадал изначально
P.S.2 Можно взять любой другой плагин схожей функциональности, для этого нужно искать в репозитории плагинов вот так https://ru.wordpress.org/plugins/search/wp+mail+smtp/ — там даже на русском можно найти варианты, однако у меня заработал именно этот, с первыми двумя Contact form 7 так и не заработал.
reset.name
Проблемы почему Contact Form 7 не отправляет письма.
Проблема № 1. Ошибки в теме (шаблоне) сайта.
Не редко сбои в работе плагина могут появляться из-за ошибок в java скрипте самой темы. Которая мешает нормальной работе Ajax на ресурсе. Не секрет, что многие начинающие блогеры используют бесплатные темы, которые были скачаны из непонятных источников в интернете. Многие такие шаблоны имеют ошибки в коде и не всегда корректно работают в дальнейшем.
Для проверки работоспособности темы совместно с Contact Form 7, можно попробовать установить ваш шаблон сайта на тестовый домен и посмотреть как будет работать отправка писем. Если у вас нет экспериментального домена, то можно сделать следующее.
В панели управления перейдите “Внешний вид”=> “Темы”. Для шаблона которым вы пользуетесь, нажмите кнопку “Просмотреть”. В режиме тестового просмотра темы проверьте как работает форма обратной связи. Если все работает значит причина проблем в самой теме. Попытайтесь найти их самостоятельно, а лучше смените тему сайта.
Проблема № 2. Крутится значок загрузки (лоадер), но письмо не отправляется.
Причина, как и в первом случае. Создаются неправильные входные параметры из-за ошибок в теме или плагине. Обработчик форм на Java скрипте не получает json формат данных и не понимает, что нужно сделать. Решение проблемы в удалении ошибок и лишнего текста в коде.
Причина № 3. Конфликт Contact Form 7 с другими плагинами.
Довольно частая причина на wordpress, когда плагины перестают нормально работать. Поочередно отключаем все установленные плагины, обновляем страницу и проверяем работоспособность формы обратной связи.Таким образом находим конфликтный плагин. Часто такая проблема возникает при очередном обновлении темы или плагинов.
Причина № 4. Сообщения не приходят на почту.
Бывает, что форма вроде работает и вы получаете уведомление “Ваше сообщение отправлено”, но оно не доходит на почту. Есть несколько причин данной проблемы:
- Сообщения попадают в папку спам. Наблюдается, когда происходит частая отправка сообщений с одного и того же адреса и почтовый сервис расценивает их как спам. Для устранения данной причины вам следует пометить эти письма как “Не спам”.
- Проблемы со стороны хостинга. Довольно распространенная причина когда хостинг перестает отправлять сообщения. Это часто встречается при использовании бесплатных хостингов. Обращение в службу поддержки с текстом “Contact Form 7 не отправляет письма”, обычно помогает решить вопрос. Кстати на моем сайте приключилась именно эта беда. Как я с ней справился, чтобы не зависеть от хостеров я поведаю ниже.
sergeyneznamov.ru