$to, 'sent' => false, 'method' => 'wordpress_default_sender_247chatmate_name', 'error' => '', ); if (!is_email($to)) { $result['error'] = 'Invalid recipient email.'; return $result; } $last_mail_error = ''; $failure_hook = function($wp_error) use (&$last_mail_error) { if (is_wp_error($wp_error)) { $last_mail_error = $wp_error->get_error_message(); } }; add_action('wp_mail_failed', $failure_hook, 10, 1); $sent = matewa_email_delivery_send($to, $subject, $message, $args); remove_action('wp_mail_failed', $failure_hook, 10); if ($sent) { $result['sent'] = true; return $result; } $result['error'] = '' !== $last_mail_error ? $last_mail_error : 'wp_mail returned false.'; return $result; } }