이메일 알림 등록 비활성화


20

웹을 통해 심도있는 조사를했으며 많은 대체 솔루션을 시도했지만 새로운 사용자의 전자 메일 알림을 비활성화하는 솔루션을 찾지 못했습니다.

내 사용자 설정에서 "방문자는 계정을 만들 수 있지만 관리자 승인이 필요합니다"옵션과 "방문자가 계정을 만들 때 전자 메일 확인 필요"옵션이 선택되어 있지 않습니다.

당신은 어떤 아이디어가 있습니까?

답변:


32

_user_email_notify () 함수를 보면 변수 'user_mail_' . $op . '_notify'가 이메일을 보내야하는지 여부를 확인합니다 . 이메일 확인을 비활성화했다고 가정하면 (그렇지 않으면 메일 알림 비활성화는 이상합니다.) $ op is 'register_no_approval_required'입니다. 따라서 전체 변수 이름은 'user_mail_register_no_approval_required_notify'입니다.

해당 변수에 대한 사용자 인터페이스가없는 것 같습니다. 그러나 settings.php의 끝에 다음 줄을 추가하여 settings.php에서 설정할 수 있습니다 (아마도 사이트 / 기본값).

$conf['user_mail_register_no_approval_required_notify'] = FALSE;

다른 메일 알림에도 동일하게 적용 할 수 있습니다. 다른 가능한 $op값은 링크 된 페이지에 나열되어 있습니다.


정말 고맙습니다. 관리자 설정이 없다고 믿기 어렵습니다.
qasimzee 2013

실제로 사용자 확인이 필요한 이메일을 방지하는 유스 케이스를 볼 수 있습니다. html 전자 메일을 보내거나 사용자 역할에 따라 응답을 변경하려는 경우 시스템 전자 메일이 상당히 제한되어 있으므로 규칙 및 사용자 지정 전자 메일로이 워크 플로를 수행하고 싶습니다. 감사합니다 @ Berdir.
doub1ejack

참고로, 아래의 'mailcontrol'모듈은 이와 동일한 솔루션을 간단한 모듈로 구현 한 것입니다. 간과하지 마십시오.
doub1ejack

8

Mailcontrol 모듈을 사용할 수 있습니다 .

UI에서 원하는 표준 Drupal 메일을 켜거나 끌 수 있습니다.

Drupal 7에서 발송 한 기본 메일을 즉시 제어 할 수 있습니다.

기술

이 작은 모듈은 모든 표준 메일을 전체적으로 켜거나 끌 수있는 기능으로 원래 Drupal 7 계정 설정 페이지를 확장합니다. 기본적으로 Drupal 7은 다음 메일을 전체적으로 비활성화 할 수있는 옵션을 제공하지 않습니다.

  • 환영 (관리자가 만든 새 사용자)
  • 환영합니다 (승인 대기 중)
  • 환영합니다 (승인 불필요)
  • 비밀번호 복구


4

계정 활성화 설정에서와 같이 사용자 지정 모듈에서이를 사용하여 확인란에 설정을 추가 할 수 있습니다.

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

드루팔 7에서 :

변수 테이블을 직접 편집 할 수 있습니다. 이름 : user_mail_status_activated_notify 값 : i : 0;

또는 template.php 파일에서 :

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

1

admin / user / user / create에서 비활성화 할 수있는 확인란이 있습니다. 나에게는 기본적으로 비활성화되어 있습니다.


예, 이것은 실제로 작동해야하지만 익명 등록의 경우 자동 이메일 알림을 보내지 마십시오.
lnunesbr

@Inunesbr "익명 등록"이란 무엇입니까?
kiamlaluno

@kiamlaluno "사용자 / 등록"에서 자체적으로 계정을 만드는 방문자
lnunesbr

0

Drupal 8의 경우 나를 위해 일합니다.

다음 코드는 등록 후 이메일을 보내지 않습니다.

/**
 * 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;
  }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.