it-swarm.asia

تعطيل تسجيل إشعار البريد الإلكتروني

لقد أجريت بحثًا عميقًا عبر الويب وجربت أيضًا العديد من الحلول البديلة ، ولكن لم أجد أي حل لتعطيل إشعار البريد الإلكتروني للمستخدمين الجدد.

في إعدادات المستخدم الخاصة بي ، لدي خيار "يمكن للزوار إنشاء حسابات ولكن موافقة المسؤول مطلوبة" ، ولم يتم تحديد الخيار "طلب التحقق من البريد الإلكتروني عندما يقوم الزائر بإنشاء حساب".

هل لديك أي فكرة؟

19
lnunesbr

إذا نظرت إلى الوظيفة _ user_email_notify () ، فإنها تتحقق من المتغير 'user_mail_' . $op . '_notify' إذا كان يجب إرسال بريد إلكتروني أم لا. بافتراض أنك قمت بتعطيل تأكيد البريد الإلكتروني (وإلا ، فإن تعطيل إشعارات البريد سيكون غريبًا ؛)) ، $ op هو '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 يتم سرد القيم في الصفحة المرتبطة.

31
Berdir

يمكنك استخدام Mailcontrol الوحدة النمطية.

يسمح لك بتشغيل/إيقاف أي معيار Drupal البريد الذي تريده مباشرة من واجهة المستخدم.

السيطرة الكاملة على الرسائل الافتراضية المرسلة بواسطة Drupal 7 خارج الصندوق.

وصف

تمتد هذه الوحدة الصغيرة الأصلية Drupal 7 صفحة إعدادات الحساب مع القدرة على تشغيل/إيقاف تشغيل جميع رسائل البريد القياسية بشكل افتراضي. افتراضيًا Drupal 7 لا توفر خيارًا عالميًا تعطيل الرسائل التالية:

  • مرحبًا (تم إنشاء مستخدم جديد بواسطة المسؤول)
  • مرحبًا (في انتظار الموافقة)
  • مرحبًا (لا تلزم الموافقة)
  • استعادة كلمة السر
8
Reszli

في Drupal 8 ، ما يعادل الرمز المعطى من Berdir لملف settings.php هو التالي.

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

يمكنك استخدام هذا في وحدة مخصصة لإضافة الإعدادات في مربع اختيار حيث يتم ذلك في إعدادات تنشيط الحساب.

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:

يمكنك تعديل جدول المتغيرات مباشرة: name: user_mail_status_activate_notify value: i: 0؛

أو في ملف template.php الخاص بك:

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

هناك مربع اختيار لتعطيله في admin/user/user/create. بالنسبة لي ، تم تعطيله بشكل افتراضي.

1
Pol Dellaiera

For 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;
  }
}
0
vijay