it-swarm-vi.com

Vô hiệu hóa thông báo email đăng ký

Tôi đã thực hiện một nghiên cứu sâu trên web và tôi cũng đã thử rất nhiều giải pháp thay thế, nhưng tôi không tìm thấy bất kỳ giải pháp nào để vô hiệu hóa thông báo email cho người dùng mới.

Trong Cài đặt người dùng của tôi, tôi có tùy chọn "Khách truy cập có thể tạo tài khoản nhưng phải có sự chấp thuận của quản trị viên" và tùy chọn "Yêu cầu xác minh e-mail khi khách truy cập tạo tài khoản" không được chọn.

Bạn còn ý kiến ​​nào không?

19
lnunesbr

Nếu bạn nhìn vào hàm _ user_email_notify () , nó sẽ kiểm tra biến 'user_mail_' . $op . '_notify' nếu nó nên gửi email hay không. Giả sử rằng bạn đã vô hiệu hóa xác nhận email (nếu không, việc tắt thông báo thư sẽ là lạ;)), $ op là 'register_no_approval_required'. Vì vậy, tên biến đầy đủ là 'user_mail_register_no_approval_required_notify'.

Dường như không có Giao diện người dùng cho biến đó. Tuy nhiên, bạn có thể đặt nó trong settings.php của mình, thêm dòng sau vào cuối settings.php (có thể bên trong các trang/mặc định).

$conf['user_mail_register_no_approval_required_notify'] = FALSE;

Bạn cũng có thể làm tương tự cho các thông báo thư khác; cái khác có thể $op giá trị được liệt kê trên trang được liên kết.

31
Berdir

Bạn có thể sử dụng mô đun Mailcontrol .

Nó cho phép bạn bật/tắt bất kỳ tiêu chuẩn nào Drupal mail bạn muốn ngay từ UI.

Có toàn quyền kiểm soát các thư mặc định được gửi bởi Drupal 7 ngoài hộp.

Sự miêu tả

Mô-đun nhỏ này mở rộng trang gốc Drupal 7 trang cài đặt tài khoản với khả năng bật/tắt toàn cầu tất cả các thư tiêu chuẩn. Theo mặc định Drupal 7 không cung cấp tùy chọn nào trên toàn cầu vô hiệu hóa các thư sau:

  • Chào mừng (người dùng mới được tạo bởi quản trị viên)
  • Chào mừng (đang chờ phê duyệt)
  • Chào mừng (không cần phê duyệt)
  • Khôi phục mật khẩu
8
Reszli

Trong Drupal 8, tương đương với mã được cung cấp từ Berdir cho tệp settings.php là mã sau đây.

$config['user.settings']['notify.register_no_approval_required'] = FALSE;
5
dongjie

Bạn có thể sử dụng điều này trong một mô-đun tùy chỉnh để thêm các cài đặt trong hộp kiểm vì nó được thực hiện trong cài đặt kích hoạt tài khoản.

function your_module_form_user_admin_settings_alter(&$form, &$form_state) {

  // allow admin to choose if a notification mail is sent to no approval required users
  form['email_no_approval_required']['user_mail_register_no_approval_required_notify'] = array(
    '#type' => 'checkbox',
    '#title' => t('Notify user when account is created.'),
    '#default_value' => variable_get('user_mail_register_no_approval_required_notify', FALSE),
  );
}
4
Will

Trong Drupal 7:

Bạn có thể chỉnh sửa bảng biến trực tiếp: name: user_mail_status_activated_notify value: i: 0;

hoặc trong tệp template.php của bạn:

if(variable_get('user_mail_status_activated_notify') == 1){
    variable_set('user_mail_status_activated_notify', 0);
}
4
Chris Callender

Có một hộp kiểm để vô hiệu hóa tại admin/user/user/created. Đối với tôi, nó bị tắt theo mặc định.

1
Pol Dellaiera

Dành cho Drupal 8 công việc sau đây cho tôi.

Các mã sau đây không gửi email sau khi đăng ký.

/**
 * Implements hook_mail_alter().
 *
 * Don't send any mail during registration.
 */
function mymodule_mail_alter(&$message) {
  if ($message['id'] == 'user_register_no_approval_required' && $message['key'] == 'register_no_approval_required') {
      $message['send'] = FALSE;
      return;
  }
}
0
vijay