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


20

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

Yanıtlar:


32

_User_email_notify () işlevine bakarsanız , değişkeni 'user_mail_' . $op . '_notify'e-posta gönderip göndermeyeceğini kontrol eder . E-posta onayını devre dışı bıraktığınızı varsayarsak (aksi takdirde, posta bildirimlerini devre dışı bırakmak tuhaf olur;)), $ op olur '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ı $opdeğerler bağlantılı sayfada listelenir.


Çok teşekkür ederim. Yönetici ayarı olmadığına inanmak çok zor.
qasimzee

Aslında, kullanıcı onayı gerekli olan e-postaları önlemek için bir kullanım durumu görebilirim. Html e-postaları göndermek veya yanıtı kullanıcı rolüne göre değiştirmek istiyorsanız sistem e-postaları oldukça sınırlıdır, bu yüzden Kurallar ve özel e-postalar ile bu iş akışını devralmak isteyen görebilirsiniz. Teşekkürler @Berdir.
doub1ejack

Aşağıdaki 'mailcontrol' modülü olan FYI, basit bir modüle dönüştürülmüş aynı çözümdür. Göz ardı etme.
doub1ejack

8

Mailcontrol modülünü kullanabilirsiniz .

İstediğiniz herhangi bir standart Drupal postasını doğrudan kullanıcı arayüzünden açıp kapatmanızı sağlar.

Kutunun dışında 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ğiyle genişletir. Varsayılan olarak Drupal 7, aşağıdaki postaları genel 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


4

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

Drupal 7'de:

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

1

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


Evet, bu gerçekten işe yarıyor, ama, anonim kayıt durumunda, otomatik bir e-posta bildirimi göndermiyordum.
lnunesbr

@Inunesbr "Anonim kayıt" ile ne demek istiyorsun?
kiamlaluno

@kiamlaluno "kullanıcı / kayıt" da kendi hesabını açan ziyaretçi
lnunesbr

0

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;
  }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.