fix(email): complete mail settings and templates

This commit is contained in:
2026-09-04 12:06:42 +08:00
parent 4f8ab94fac
commit 4833053a5c
29 changed files with 716 additions and 426 deletions
@@ -191,17 +191,33 @@ trait UserControllerAuthPhoneOperations {
}
$code = (string) random_int(100000, 999999);
$this->auth_store_email_code($scene, $target, $code);
$subject = sprintf(__('[%s] 登录注册验证码', 'aksrt'), get_bloginfo('name'));
$message = sprintf(__('您的验证码是:%s,10 分钟内有效。', 'aksrt'), $code);
if (!wp_mail($target, $subject, $message)) {
$scene_event = [
'login' => 'login_code',
'register' => 'reg_verify_code',
'resetpassword' => 'password_reset',
][$scene] ?? '';
$user = $this->auth_find_user($target, $channel);
$display_name = $user instanceof \WP_User ? $user->display_name : $target;
$site_name = get_bloginfo('name');
$placeholders = [
'{username}' => $display_name,
'{site_name}' => $site_name,
'{code}' => $code,
];
$sent = $scene_event !== '' && class_exists('\\AKSRT\\Settings\\Settings')
? \AKSRT\Settings\Settings::send_event_email($scene_event, $target, '', '', $placeholders)
: false;
if (!$sent) {
delete_transient($this->auth_code_key($scene, $target));
if ($scene !== 'register') {
return $this->success(['message' => $generic, 'countdown' => 60]);
}
return $this->error(__('验证码发送失败,请稍后再试', 'aksrt'), 500);
}
$this->auth_store_email_code($scene, $target, $code);
return $this->success(['message' => $generic, 'countdown' => 60]);
}
public function auth_login(\WP_REST_Request $request): \WP_REST_Response {