Контактная форма 7: почта wp не работает после обновления до версии 4.6


Функция wp_mail не работает после обновления WordPress до версии 4.6.

Мой код:

$headers = 'From: ' . $this->from_name . ' <' . $this->from_email .'>' . "\r\n";
wp_mail( $service->getEmail(), $this->admin_daily_subject, $admin_daily_message, $headers );

Он отлично работал до обновления. Кроме того, я заметил, что отправка электронных писем не работает в Контактной форме 7. Есть какие-нибудь идеи? Заранее спасибо.

ОБНОВЛЕНИЕ

Поскольку я не нашел решения, я заменил wp_mail функцией почты и добавил несколько заголовков:

$headers = 'From: ' . $this->from_name . ' <'.$this->from_email.'>' . "\r\n" .
                           'Reply-To: '.$this->from_email . "\r\n" .
                           'X-Mailer: PHP/' . phpversion() . "\r\n" .
                           "Content-Type: text/html; charset=UTF-8";
mail( $service->getEmail(), $this->admin_daily_subject, $admin_daily_message, $headers );

С этим обновлением это работает. Я надеюсь, что там будут некоторые обновления кодекса wp об использовании wp_mail() с 4.6 или кто-нибудь найдет решение.

ОБНОВЛЕНИЕ 2

Похоже, я не единственный, кто сталкивается с этой проблемой:

Произошла ошибка при попытке отправить ваше сообщение

Author: fuxia, 2016-08-17

3 answers

Решение было найдено здесь - Сделать ядро WordPress

Я внес изменения в wp-includes/pluggable.php в строке 352 из

$phpmailer->setFrom( $from_email, $from_name ); 

До

$phpmailer->setFrom( $from_email, $from_name, false ); 

И это работает! Спасибо Мариусу Л.Дж. (Клорит)!

 5
Author: IvnH, 2016-08-19 13:42:50

На тебе, на ВАМПИРЕ? Несмотря на это, это звучит как встроенный php mail() функция в вашей сборке php недоступна по какой-либо причине (обычно она не работает в сборках WAMP или *nix, в которых нет внутреннего smtp-сервера). Вероятно, вам лучше всего начать использовать SMTP для отправки электронных писем.

Для этого вы могли бы создать свой собственный плагин, но лично мне нравится использовать WP Mail SMTP. Вы можете использовать учетную запись gmail для учетных данных SMTP или что-то вроде Почтовый пистолет в зависимости от объема писем, которые вам нужно отправить.

Если бы вы хотели написать свой собственный плагин, вы бы хотели подключить phpmailer_init и изменить глобальную переменную $phpmailer примерно так:

$phpmailer->IsSMTP();
$phpmailer->Host = "smtp.example.com";
$phpmailer->Port = <SMTP PORT>;
$phpmailer->SMTPSecure = 'ssl';  //optional, can also be 'tls'
$phpmailer->SMTPAuth = true;
$phpmailer->Username = '<your smtp username>';
$phpmailer->Password = '<your smtp password>';
 3
Author: TheGentleman, 2016-08-17 12:55:47

Я установил WP-Mail-SMTP Создал [email protected] с цитатой 0b. Настроил WP-Mail-SMTP для использования [email protected] - SSL Включен - Измените локальный хост на сервер, на котором вы размещаете - SMTP-порт для SSL составляет 465 Протестированный WP-Mail-SMTP работал.

Я все еще не мог заставить контактную форму 7 работать, тогда я подумал, что недостающая часть этой головоломки заключалась в том, что мне пришлось отредактировать контактную форму 7 с адреса, который был [email protected] быть [email protected]

Также, чтение https://contactform7.com/faq / был полезен, заставил меня использовать приложение для отслеживания доставки на хостинге cpanel, полезно проверить это, так как оно сообщит вам, подключаетесь ли вы и пытаетесь ли отправить электронное письмо. Также у пользователя был включен akismet, но он не был активен, поэтому отключил его. Также упоминаются некоторые проблемы с частотой очистки кэша.

Другие вещи, на которые стоит обратить внимание, - это то, установлена ли у вас правильная версия PHP в cPanel.

Предыдущее сообщение с упоминанием для редактирования pluggable.php в wp includes это плохая идея, вы не должны редактировать ядро WordPress, чтобы исправить такие проблемы, так как новое обновление ядра, скорее всего, просто сломает его снова.

ОБНОВЛЕНИЕ

Я удалил капчу из одной формы, которая не работала, и она сработала!!

Краткое описание
[повторение]

Что-то с рекапчей сломано.


ИСПРАВЛЕНО!

Форумы поддержки плагинов о том, что recaptcha нарушает отправку формы, указанной в добавить:

Https://wordpress.org/plugins/contact-form-7-recaptcha/

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

 0
Author: islandnet.com Web Hosting, 2017-04-24 18:59:58