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


20

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 email 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?

Câu trả lời:


32

Nếu bạn nhìn vào hàm _user_email_notify () , nó sẽ kiểm tra biến 'user_mail_' . $op . '_notify'đó có 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ác $opgiá trị khác có thể được liệt kê trên trang được liên kết.


Cảm ơn bạn rất nhiều. Thật khó để tin rằng không có cài đặt quản trị.
qasimzee

Trên thực tế, tôi có thể thấy một trường hợp sử dụng để ngăn chặn email yêu cầu xác nhận người dùng. Các email hệ thống khá hạn chế nếu bạn muốn gửi email html hoặc thay đổi phản hồi theo vai trò của người dùng, vì vậy tôi có thể thấy muốn tiếp quản quy trình công việc này với Quy tắc & email tùy chỉnh. Cảm ơn @Berdir.
ngờ1ejack

FYI, mô-đun 'mailcontrol' dưới đây là giải pháp tương tự được đưa vào một mô-đun đơn giản. Đừng bỏ qua nó.
ngờ1ejack

8

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

Nó cho phép bạn bật / tắt bất kỳ thư Drupal tiêu chuẩn nào 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 ra khỏi hộp.

Sự miêu tả

Mô-đun nhỏ này mở rộng trang cài đặt tài khoản Drupal 7 ban đầu 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 để vô hiệu hóa toàn cầu 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


4

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

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);
}

1

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.


Vâng, điều này thực sự được cho là hoạt động, nhưng, ý tôi là, trong trường hợp đăng ký ẩn danh, đừng gửi email thông báo tự động.
lnunesbr

@Inunesbr Bạn có ý nghĩa gì với "đăng ký ẩn danh"?
kiamlaluno

@kiamlaluno khách truy cập tự tạo tài khoản trong "người dùng / đăng ký"
lnunesbr

0

Đối với Drupal 8 sau đây làm việc 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;
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.