При использовании сайта на cms WordPress совместно с плагином Contact Form 7, случается так, что у некоторых посетителей не отправляются веб-формы, созданные плагином. Текст ошибки выглядит так: «При отправке сообщения произошла ошибка. Пожалуйста, попробуйте ещё раз позже.»
Обычно такая ошибка возникает когда указан неверный исходящий адрес, либо плагин или скрипт вмешивается в работу плагина веб-форм. Первое, что необходимо проверить для решения проблемы, это адрес исходящий почты в настройках проблемной формы:
Адрес должен соответствовать домену сайта. Например, если у вас домен website.ru, то в поле «От кого» должен стоять ящик этого домена, например mail@website.ru. При этом исходящий адрес может даже не существовать, поэтому можете указать абсолютно любую почту, главное — чтобы она соответствовала домену сайта.
Если способ не помог, то проверьте настроен ли сервис Recaptcha. Для этого зайдите в админке по пути: Contact Form 7> Интеграция.
Если в блоке «ReCaptcha» написано «reCAPTCHA активна на этом сайте.», то нужно отключить привязку ключей. Для этого нажмите на кнопку «Настройка интеграции», а затем «Удаление ключей».
ReCaptcha — это сервис Google, который на основе своих алгоритмов определяет человек вы или бот. Иногда сервис ошибается и не дает отправлять формы на сайте. После удаления ключей ваш сайт не буден защищен от спама, но вы можете установить плагин «ReCaptcha v2 for Contact Form 7», где не будет проблемы с определением пользователей.
Что делать если способы не помогли?
В таком случае последовательность действий такая:
- Нужно отключить все плагины, кроме Contact Form 7, затем проверить работу форм. Если проблема решилась, то методом исключения включаете каждый плагин по отдельности и находите конфликтный.
- Если не помогло, то открываем файлы шаблона header.php и footer.php и удаляем подключение сторонних скриптов. Проверяем работу форм. Также, если формы заработали, применяете метод исключения.
Вышеописанные способы в 99% случаев должны помочь решить проблему. Если у вас осталась ошибка, то прошу связаться с нами любым доступным способом, указанным ниже, либо на странице контакты
Здравствуйте!
Для ответа на данный вопрос недостаточно информации. Однако, могу сказать что актуальная версия CF7 и ВП корректно работают и отправляют письма. Исходя из этого стоит учесть следующие моменты:
— В настройках формы почта отправителя должна совпадать с именем сайта (Например, wordpress@mysite.com)
— В Настройки -Общие также должна быть указана почта, которая указана выше.
— Попробовать настроить пересылку писем через SMTP протокол. WP Mail SMTP
— Проверить доступность портов 25 467 587 (некоторые хостеры закрывают их)
Как правило настройка SMTP решает проблему. Иногда некоторые хостеры ограничивают почту и нужно например, указывать конкретную почту, которую можно узнать из хостинга (что-то типа webmaster@mysite.com)
— Также проверяйте конфликт плагинов. Отключите другие плагины и попробуйте отправить письмо.
— Также проверяйте конфликт с темой.
— Работоспособность ф-ций wp_mail () && php mail () можно установив плагин WP MAIL SMTP и посмотрев там, отправляются ли сообщения.
— Также если у вас имеется сертификкат SSL, то часто бывают ошибки на самоподписанных сертификатах. Либо исправить проблему, либо отключить проверку
Если у вас на сайте имеется SSL сертификат, то в functions.php добавьте
add_filter( 'wp_mail_smtp_custom_options' , function( $phpmailer ){
$phpmailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
return $phpmailer;
});
В борьбе за чистоту отправляемых с сайта писем (через обратные формы связи) вебмастера часто усердствуют, устанавливая дополнительные плагины на WordPress и дополняя «Чёрный список» (Настройки — Обсуждения) всевозможными spam-фразами. И в один момент наблюдается картина, когда популярный плагин Contact Form 7 дает сбой и отправленные данные определяет как спам (не отправляет письма, даже если ничего крамольного вы не пишите и заполняете все поля согласно всем правилам жанра). Но даже если отключить все плагины антиспама, проблема остается!
Что делать когда Contact Form 7 при отправке письма с сайта выдает «ошибка при отправке сообщения«? Эта фраза может звучать по разному, как «Ошибка при отправке сообщения. Пожалуйста, попробуйте позже или обратитесь к администратору сайта» или «Сообщение отправить не удалось» или вердикт конкретный — «Отправленные данные определены как спам«.
К своему удивлению, не так давно я обнаружил, что на огромном числе моих сайтов и сайтов клиентов, CF7 исправно отправлял почту в десктопной версии сайта, а в мобильных браузерах все «Отправленные данные определены как спам» (с мобильных телефонов не удавалось отправить письмо ни под каким соусом). Примечательно, что отправку форм с мобильных устройств я никогда не тестировал и она, оказывается, исправно не работала все это время!
А у вас работает форма связи на Contact Form 7 в мобильной версии? Если нет, давайте искать причину!
Первым делом, необходимо удостоверится, что CF7 действительно ругается на SPAM. В вашем браузере откройте «Инструменты разработчика» (в Chrome — Меню — Дополнительные инструменты — Инструменты разработчика), найдите вкладку Network — найдите feedback, в котором откройте вкладку Preview (как на скрине):
Здесь мы видим не двухзначный вердикт, почему наша форма отказалась отправить почту:
into: "#wpcf7-f1454-p71-o1" message: "Ошибка при попытке отправить сообщение. Пожалуйста, повторите попытку позже." status: "spam"
Поиск по коду плагина, находит такие строчки:
elseif ( $this->spam() ) { // Spam! $this->status = 'spam'; $this->response = $contact_form->message( 'spam' ); }
Таким образом, при отправке сообщений, CF7 руководствуется встроенной функцией определения спама в WordPress, а именно «Черным списком» (Настройки — Обсуждения). И порой руководствуется совсем непонятным образом: определяет SPAM, даже если слово не встречается в тексте, определяет SPAM только лишь в мобильных браузерах и т.д. и т.п.
Черный список используется в WP для глобального определения SPAM. Это пользовательский список слов. Если комментарий содержит какие-либо из этих слов в своём тексте, имени автора, URL, адресе e-mail или IP, то он будет помечен как спам. Каждое слово или IP задается с новой строки. Используется поиск по подстроке, то есть по слову “press” будет найдено “WordPress”.
Экспериментальным путем удалось установить, что пустой Черный список не мешал отправке почты с сервера, но это не было бы правильным решением, так как Черный список в WP — весьма эффективное средство против SPAMеров в комментариях.
Когда причина определена, остается научить Contact form 7 не определять SPAM по Черному списку! Для этого достаточно добавить в файл functions.php Вашей текущей темы следующую строчку кода:
add_filter('wpcf7_spam', '__return_false');
Contact Form 7 – Настраиваем отправку письма, и исправляем ошибки при отправке писем
Contact Form 7 – отличный плагин для отправки форм с сайта. Сегодня поговорим о том как исправить ошибки при отправке сообщений, так же я предоставлю готовый HTML шаблон и настройки для писем CF7
Contact Form 7 очень популярный плагин и проверенный инструмент для создания форм, на данной странице я поделюсь с Вами свои «рецептом» заполнения формы отправки письма (эта область которая находится на странице настройки формы на вкладке «Письмо»). Так же мы рассмотрим возможные причины и их решения в случае если Вы не получаете электронные письма от CF7 или получаете уведомления об ошибках при попытке отправить электронное письмо.
Я часто использую данный шаблон для отправки писем как на своих сайтах, так и на сайтах клиентов. Рекомендую его использовать, так как он максимально комфортен для как конечного клиента, так и для себя любимого :).
Вводим данные в соответствии своему сайту.
Кому:
От кого:
Тема:
???? [_site_title] - ФОРМА"КОНТАКТНАЯ ФОРМА"
Дополнительные заголовки:
Дополнительные заголовки оставляем пустыми и не трогаем!
Тело письма: Здесь обращаю Ваше внимание на то что логотип должен быть четко «квадратной формы» для того что бы красиво смотреться в письме. И иметь размеры 150 на 150 пикселей.
<img style="max-width: 150px !important;" data-src="https://ВАШ_ДОМЕН.COM/wp-content/uploads/2018/02/Logo-150x150.png">
<h3>Пользователь заполнил следующие данные:</h3>
<p><b>Имя:</b></p><br> [text-59]
<p><b>E-mail:</b></p><br> <a href="mailto:[Email]">[Email]</a>
<p><b>Телефон:</b></p><br> <a href="tel:[tel-116]">[tel-116]</a>
<p><b>Сообщение:</b></p><br> [textarea-102]
-
Это сообщение отправлено с сайта [_site_title] ([_site_url])
И не забываем отметить «Использовать HTML-формат письма»:
Как использовать CSS и свой шрифт в письме Contact From 7?
Код описанный ниже вставляем в «Тело письма» плагина Contact From 7. Соответственно правим код под себя. В целом благодаря данному коду у Вас получится создать очень даже привлекательное письмо, которое не будет выглядеть как «из под топора».
Тело письма:
<!doctype html>
<html>
<head>
<!-- Подключаем шрифт от Google Fonts -->
<link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
<!-- Используем свои свои CSS -->
<style>
@media screen {
@font-face{
font-family:'Open Sans';
font-style:normal;
font-weight:400;
src:local('Open Sans'), local('OpenSans'), url('http://fonts.gstatic.com/s/opensans/v10/cJZKeOuBrn4kERxqtaUH3bO3LdcAZYWl9Si6vvxL-qU.woff') format('woff');
}
}
.Tovar, .Zagolovok{
font-weight:400;
}
</style>
</head>
<body>
<img style="max-width: 150px !important;" data-src="">
<b><h2 class="Tovar">Пользователь выбрал товар:</h2></b>
<h2>[hidden-120]</h2>
<hr>
<h3 class="Zagolovok">Пользователь заполнил следующие данные:</h3>
<p><b>Имя:</b></p>
[text-59]
<p><b>Телефон:</b></p>
<b><a href="tel:[tel-116]">[tel-116]</a></b>
<p><b>Email:</b></p>
[Email] <br><br><br>
-
Это сообщение отправлено с сайта <b>[_site_title]
<br>[_site_url]</b>
</body>
</html>
Вы должны проверить информацию введенную в поля «Кому» или «От кого», потому что в старой версии CF7 этот ввод имеет значение «[ваше имя] <[ваш адрес электронной почты]>». Это неверное значение, так как электронная почта отправителя должна содержать домен текущего сайта, на котором вы установили CF7.
Допустим у меня есть сайт https://mediadoma.com/, на данном сайте при настройке плагина CF7 я ввел в поле «Кому» (я на всех проектах использую Gmail API, как это сделать я подробно описал здесь.):
А вот в поле «От кого» я ввел
Почта может быть поддельной, и это не страшно, здесь главное указать домен своего сайта.
Другие плагины могут вызвать проблемы
Если первое решение не помогает, попробуйте отключить все плагины, кроме CF 7, и протестируйте отправку форм. Если отправка писем все еще не работает, включите обратно отключенные плагины.
Иногда плагины безопасности блокируют отправку писем с веб-сайта.
Свяжитесь с вашим хостинг-провайдером
Иногда хостинг-провайдер отключает функцию, которую использует Contact Form 7 (имя данной php функции mail() ). Напишите сообщение в вашу поддержку и спросите их об этом. Попробуйте решить проблему при помощи службы поддержки хостинга.
JSON REST API был отключен в WordPress
Так как последнее время набрал огромную популярность плагин «Clearfy» пользователи часто начали сталкиваться с тем что при ускорении сайта (при помощи плагина clearfy) CF7 почему-то перестает работать. Это прежде всего связано с отключением «REST API» на странице настроек плагина Clearfy. По этому убедитесь в том что у Вас настройки «REST API» не отключены, в общем смотрим на скрин ниже, положение переключателя должно быть в «Выкл».
Используйте SMTP
Вы можете использовать любые плагины для WordPress, которые реконфигурируют функцию wp_mail() для использования SMTP вместо mail (). Я рекомендую WordPress Gmail smtp .
Если вы не знаете, как установить эти плагины, вы должны проверить мой другой пост, WordPress Gmail smtp – Настраиваем отправку почты с сайта через почту Google.
Источник записи:
Приветствую вас дорогие друзья!
В этой статье я вам расскажу о том, почему 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.
Почтовые ящики на mail.ru я использовать не рекомендую потому, что в последнее время они обновили свою политику безопасност и фильтры и теперь все автоматические рассылки, у которых в качестве отправителя стоит адрес mail.ru, будут блокироваться либо доставляться с ошибками.
Для решения проблемы 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.После того, как все настройки заданы, нажимаем на кнопку «Сохранить изменения».
Настройки SMTP для gmail:
SMTP Host: smtp.gmail.com
SMTP Port: 465 или 587
Теперь нам нужно проверить, правильно ли мы все настроили. Для этого воспользуемся опцией «Send test email». В этом поле я укажу свой почтовый ящик на Яндекс и отправлю тестовое сообщение.
Здесь нам нужно будет ввести адрес почтового ящика, на который вам бы хотелось получать все ваши письма, заявки, уведомления с данного сайта. Это не обязательно должен быть почтовый ящик, который вы использовали в настройке, это может быть любой другой. Желательно, что бы этот email находился не на mail.ru, потому, что они ужесточают свои спам-фильтры, и все письма, которые отправляются в автоматическом режиме с какого-то сайта, либо какого-то сервиса могут попадать в спам. Поэтому, лучше использовать тот же Яндекс или Gmail.
После нажатия на кнопку «Send Test» мы увидим сообщение о том, что наше письмо было отправлено, после чего мы можем перейти в почтовый ящик и проверить, дошло ли оно.
Итак, я получила вот такое сообщение:
В тексте написано, что данное сообщение было сгенерировано плагином WP Mail SMTP. Вверху, в адресе отправителя, мы видим данные, которые указывали в настройке плагина.
То есть email, который я указала в настройках плагина, указывается в качестве отправителя.
Теперь если я попробую отправить сообщение с формы Contact Form 7, то оно будет успешно доставлено.
Данный плагин так же можно использовать в том случае, если у вас не только с Contact Form 7 не приходят письма, а в целом, почта с сайта WordPress не доходит на ваш email. То есть, в этом случае, вы можете настроить отправку через SMTP, и таким образом решить эту проблему.
Однако я должна вас предупредить, что функция отправки писем через SMTP поддерживается не на каждом хостинге, точнее сказать, не на каждом тарифном пакете.
Я сталкивалась с такими хостингами, у которых возможность отправки через SMTP активировалась только на каких-то более дорогих тарифных планах, либо за отдельную плату.
Конечно, на большинстве хостингов эта функция есть, проблем с ней ник каких не возникает. Но если вдруг у вас, при настройке отправки писем, ни чего не получается, то есть смысл написать в техподдержку вашего хостинга и уточнить, осуществляется ли у них отправка почты через SMTP и в чем могут выть вызваны возникающие ошибки, возможно это проблема самого хостинга.
Вы также можете посмотреть видео инструкцию по данной теме:
Что же, на этом у меня все. Надеюсь, эта статья была для вас полезна, и теперь у вас не будут возникать проблемы с отправкой писем как для Contact form 7, так и для всего сайта WordPress в целом. Пишите комментарии, подписывайтесь на мою рассылку и не забудьте подписаться на новости блога и мой канал на YouTube чтобы не пропустить ничего интересного.
С уважением Юлия Гусарь