fix(email): complete mail settings and templates
This commit is contained in:
1 parent
4f8ab94fac
commit
4833053a5c
29 files changed
+716
-426
No files matched your search
@@ -23,12 +23,6 @@ class GlobalController extends ControllerBase {
|
||||
* Register all routes for the global domain.
|
||||
*/
|
||||
public function register_routes(): void {
|
||||
// Email / SMTP
|
||||
register_rest_route(self::API_NAMESPACE, '/settings/mail', [
|
||||
'methods' => ['GET', 'POST'],
|
||||
'callback' => [$this, 'rest_handle_mail'],
|
||||
'permission_callback' => [$this, 'check_permission'],
|
||||
]);
|
||||
register_rest_route(self::API_NAMESPACE, '/mail/test', [
|
||||
'methods' => 'POST',
|
||||
'callback' => [$this, 'rest_test_mail'],
|
||||
@@ -175,30 +169,6 @@ class GlobalController extends ControllerBase {
|
||||
return $this->success(['message' => 'CMS 功能已保存', 'cms_features' => \AKSRT\Settings\Settings::get_cms_features()]);
|
||||
}
|
||||
|
||||
public function rest_handle_mail(\WP_REST_Request $request): \WP_REST_Response {
|
||||
$option_key = 'aksrt_mail_config';
|
||||
|
||||
if ($request->get_method() === 'GET') {
|
||||
$config = get_option($option_key, [
|
||||
'smtp_host' => '',
|
||||
'smtp_port' => 465,
|
||||
'smtp_user' => '',
|
||||
'smtp_pass' => '',
|
||||
'smtp_secure' => 'ssl',
|
||||
'from_email' => '',
|
||||
'from_name' => '',
|
||||
]);
|
||||
return $this->success(['data' => $config, 'code' => 'success']);
|
||||
}
|
||||
|
||||
$params = $this->get_json_params($request);
|
||||
$current = get_option($option_key, []);
|
||||
$merged = array_merge(is_array($current) ? $current : [], $params);
|
||||
update_option($option_key, $merged);
|
||||
|
||||
return $this->success(['message' => '邮件配置已保存', 'code' => 'success']);
|
||||
}
|
||||
|
||||
public function rest_test_mail(\WP_REST_Request $request): \WP_REST_Response {
|
||||
$params = $this->get_json_params($request);
|
||||
$to = sanitize_email($params['to'] ?? '');
|
||||
@@ -206,7 +176,9 @@ class GlobalController extends ControllerBase {
|
||||
return $this->error(__('请输入有效的邮箱地址', 'aksrt'));
|
||||
}
|
||||
|
||||
$sent = wp_mail($to, __('AKSRT 邮件测试', 'aksrt'), __('如果你收到这封邮件,说明 SMTP 配置正确。', 'aksrt'));
|
||||
$sent = class_exists('\\AKSRT\\Settings\\Mail')
|
||||
? \AKSRT\Settings\Mail::send_test_email($to)
|
||||
: false;
|
||||
if ($sent) {
|
||||
return $this->success(['message' => '测试邮件已发送']);
|
||||
}
|
||||
@@ -388,6 +360,7 @@ class GlobalController extends ControllerBase {
|
||||
return ($a['sort_order'] ?? 0) <=> ($b['sort_order'] ?? 0);
|
||||
});
|
||||
update_option('aksrt_friend_links', $links);
|
||||
do_action('aksrt_friend_link_submitted', $new_link);
|
||||
|
||||
return rest_ensure_response(['code' => 'success', 'data' => $new_link, 'message' => __('Friend link added.', 'aksrt')]);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user