Если у вас не срабатывает отправка писем через функцию wp_mail()
, вы можете добавить этот небольшой фрагмент кода в свой functions.php, но вы должны понимать, что это не является 100% действенным решением, т.к. проблемы могут возникать в другой части процесса отправки, например, на SMTP-сервере.
Все эти строки кода пытаются лучше составить заголовки вашего письма, чтобы лучше проходить фильтры антиспама.
/* specify the From header in email */
add_action( 'phpmailer_init', 'fix_return_path' );
function fix_return_path( $phpmailer ) {
$phpmailer->Sender = $phpmailer->From;
}
/* force the use of from header */
add_filter( 'wp_mail_from', 'force_from' );
function force_from( $email ) {
return "noreply@yourdomain.com";
}
/* add the name of the sender */
add_filter( 'wp_mail_from_name', 'force_from_name' );
function force_from_name( $name ) {
return bloginfo('name');
}
Если этот код не решает вашу, то, скорее всего вам нужно попробовать настроить внешний SMTP-сервер (есть также плагины WordPress, которые позволяют wp_mail()
использовать внешний SMTP-сервер).