web-gelistirme-sc.com

Kayıt e-posta bildirimini devre dışı bırak

Web üzerinde derin bir araştırma yaptım ve birçok alternatif çözüm denedim, ancak yeni kullanıcılar için e-posta bildirimini devre dışı bırakmak için herhangi bir çözüm bulamadım.

Kullanıcı Ayarlarımda, "Ziyaretçiler hesap oluşturabilir ancak yönetici onayı gerekli" seçeneğini işaretliyorum ve "Bir ziyaretçi hesap oluşturduğunda e-posta doğrulaması iste" seçeneği işaretlenmedi.

Herhangi bir fikrin var mı?

19
lnunesbr

_ user_email_notify () fonksiyonuna bakarsanız, 'user_mail_' . $op . '_notify' e-posta gönderip göndermemesi gerekiyorsa. E-posta onayını devre dışı bıraktığınızı varsayarsak (aksi takdirde, posta bildirimlerini devre dışı bırakmak garip olur;)), $ op 'register_no_approval_required'. Yani tam değişken adı 'user_mail_register_no_approval_required_notify'.

Bu değişken için bir Kullanıcı Arayüzü yok gibi görünüyor. Bununla birlikte, settings.php dosyasının sonuna (muhtemelen siteler içinde/varsayılan) aşağıdaki satırı ekleyerek settings.php dosyasında ayarlayabilirsiniz.

$conf['user_mail_register_no_approval_required_notify'] = FALSE;

Aynısını diğer posta bildirimleri için de yapabilirsiniz; diğer olası $op değerleri bağlantılı sayfada listelenir.

31
Berdir

Mailcontrol modülünü kullanabilirsiniz.

İstediğiniz standart Drupal postayı doğrudan kullanıcı arayüzünden açıp kapatmanıza olanak tanır.

Kutudan Drupal 7 tarafından gönderilen varsayılan postalar üzerinde tam kontrole sahip olun.

Açıklama

Bu küçük modül orijinal Drupal 7 hesap ayarları sayfasını tüm standart postaları küresel olarak AÇMA/KAPAMA özelliğine sahip olarak genişletir. Varsayılan olarak Drupal 7, aşağıdaki postaları global olarak devre dışı bırakma seçeneği sunmaz:

  • Hoş geldiniz (yönetici tarafından oluşturulan yeni kullanıcı)
  • Hoş geldiniz (onay bekleniyor)
  • Hoş geldiniz (onay gerekmez)
  • Şifre kurtarma
8
Reszli

Drupal 8'de Berdir'den settings.php dosyası için verilen kod eşdeğeri aşağıdaki gibidir.

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

Hesap etkinleştirme ayarlarında olduğu gibi ayarları bir onay kutusuna eklemek için bunu özel bir modülde kullanabilirsiniz.

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

Drupal 7 içinde:

Değişken tablosunu doğrudan düzenleyebilirsiniz: name: user_mail_status_activated_notify value: i: 0;

veya template.php dosyanızda:

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

Admin/user/user/create dizininde devre dışı bırakılacak bir onay kutusu vardır. Benim için varsayılan olarak devre dışıdır.

1
Pol Dellaiera

Drupal 8 için işimi takip ediyorum.

Aşağıdaki kod kayıttan sonra e-posta göndermez.

/**
 * 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