При возникновении подобной проблемы загляните в этот файл wp-includes/class-phpmailer.php - у меня ошибку выдавало на функцию public static function validateAddress ($address, $patternselect = 'auto') - типа не могло свалидировать почту через длинные регулярки.
В инете нашлось и не сколько обсуждений по этому поводу: первое и второе
Вообщем, если не отправляется почта в wordpress - идем в этот файлик и ищем нашу функцию. Привожу начало функции (как я у себя подправил):
public static function validateAddress($address, $patternselect = 'php')
{
//Reject line breaks in addresses; it's valid RFC5322, but not RFC5321
if (strpos($address, "\n") !== false or strpos($address, "\r") !== false) {
return false;
}
if (!$patternselect or $patternselect == 'auto') {
//Check this constant first so it works when extension_loaded() is disabled by safe mode
//Constant was added in PHP 5.2.4
if (defined('PCRE_VERSION')) {
//This pattern can get stuck in a recursive loop in PCRE <= 8.0.2
if (version_compare(PCRE_VERSION, '8.0.3') >= 0) {
$patternselect = 'php';
} else {
$patternselect = 'php';
}
} elseif (function_exists('extension_loaded') and extension_loaded('pcre')) {
//Fall back to older PCRE
$patternselect = 'php';
} else {
//Filter_var appeared in PHP 5.2.0 and does not require the PCRE extension
if (version_compare(PHP_VERSION, '5.2.0') >= 0) {
$patternselect = 'php';
} else {
$patternselect = 'noregex';
}
}
}
все сводится к поиску $patternselect и приравниванию его к значению php
$patternselect = 'php';
только беда, что при очередном обновлении вордпресса - эти действия прийдется снова повторить. возможно есть код по переназначению этой функции в function.php?

