Как настроить отправку письма подтверждения/валидации при регистрации пользователя в WordPress
У меня установлен и отлично работает WP 3.3. Мой клиент хочет подтверждать действительность email-адреса путем отправки пользователю письма подтверждения со ссылкой для "подтверждения". Я немного поэкспериментировал с плагином Pie Register, но не смог настроить отправку писем, как заявлено в его описании.
Существуют ли другие плагины или инструменты, способные выполнять такую же функцию? Я не думаю, что это сложная задача, но клиент настаивает на этом.
Кстати, сайт нормально отправляет все остальные письма.
Есть идеи?

Возможно, на вашем сервере отсутствует почтовый сервер. Вы можете использовать плагин, такой как WP-Mail-SMTP, для отправки писем. Однако я обнаружил, что процедура регистрации в плагине Pie Register небезопасна — она позволяет регистрировать одинаковые имена и email, если предыдущая регистрация не была активирована.

Этот плагин делает именно то, что вам нужно — Pie Register
Из каталога плагинов Wordpress.org:
Проверка email Устали от фальшивых email? Убедитесь, что ваши пользователи не регистрируются с недействительными email-адресами, заставляя их перейти по ссылке подтверждения, которая отправляется в письме при регистрации. Это устанавливает их имя пользователя в виде случайно сгенерированной строки (например: 'unverified__h439herld3'), поэтому они не могут войти, пока не перейдут по ссылке подтверждения, которая вернёт их настоящее имя пользователя, позволяя войти как обычно. Для неподтверждённых регистраций установлен определённый льготный период, после которого аккаунт автоматически удаляется, чтобы ваш сайт не засорялся фальшивыми регистрациями. (Управление в разделе Пользователи > Неподтверждённые пользователи)

Вы можете использовать следующий код при отправке данных формы регистрации:
$userdata = array(
'user_pass' => $user_pass,
'user_login' => esc_attr( $_POST['user_name'] ),
'first_name' => esc_attr( $_POST['first_name'] ),
'last_name' => esc_attr( $_POST['last_name'] ),
'nickname' => esc_attr( $_POST['nickname'] ),
'user_email' => esc_attr( $_POST['email'] ),
'user_url' => esc_attr( $_POST['website'] ),
'user_account_type' => esc_attr( $_POST['user_account_type'] ),
'role' => get_option( 'default_role' ),
);
$new_user = wp_insert_user( $userdata );
wp_new_user_notification($new_user, $user_pass);
Это отправит пользователю подтверждающее письмо.
