HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Setting default email preferences for all users

Hello there,

I'm running a small, very localized forum, and was trying to find a way so set email defaults for all users to receive email notifications on posts and discussions fo which they have privileges.

By way of background, we migrated to a vanilla forum after the shuddering of the yahoo groups listserv. The feeling is that our forum member engagement is lower than would be preferred simply because our members (of varying age and technological prowess) are never alerted to new posts. While I have made a sticky encouraging and walking members through the setup of email preferences, the issue seems to persist.

Any help would be greatly appreciated.

Thank you so much!

Comments

  • KasparKaspar ✭✭✭

    That is done in /conf/conf.php

    But AFAIK will not affect Profiles already created

    // Default preferences. Setting these to 'false' disables them globally.

    $Configuration['Preferences']['Email']['ConversationMessage'] = '1';

    $Configuration['Preferences']['Email']['BookmarkComment'] = '1';

    $Configuration['Preferences']['Email']['ParticipateComment'] = '0';

    $Configuration['Preferences']['Email']['WallComment'] = '0';

    $Configuration['Preferences']['Email']['ActivityComment'] = '0';

    $Configuration['Preferences']['Email']['DiscussionComment'] = '0';

    $Configuration['Preferences']['Email']['Mention'] = '0';

    $Configuration['Preferences']['Popup']['ConversationMessage'] = '1';

    $Configuration['Preferences']['Popup']['BookmarkComment'] = '1';

    $Configuration['Preferences']['Popup']['ParticipateComment'] = '0';

    $Configuration['Preferences']['Popup']['WallComment'] = '1';

    $Configuration['Preferences']['Popup']['ActivityComment'] = '1';

    $Configuration['Preferences']['Popup']['DiscussionComment'] = '1';

    $Configuration['Preferences']['Popup']['Mention'] = '1';


    Use this plugin to 'login' as the members and change settings

    https://open.vanillaforums.com/addon/spoof-plugin


    There is also a db way but generally not recommended to 'mess' around in db.

  • R_JR_J Admin

    Correct, you cannot change that for existing users and I think that's how it should be. I personally would feel spammed if I get notifications that I don't opted in for. You need to give your users the Advanced Notification (?) permission. After that I would suggest you write some nice announcement telling people they can now make use of that great feature, maybe providing a screen shot as to support your new Vanilla users.

  • Thank you so much! I'll work on implementing this.

    I appreciate the help

  • Just to be clear (because I am not),

    Will this approach allow me to set category notifications to On, or is there one particular general pref that will do so? My hope is to have all new members receive email notifications for all new posts (Discussions and Comments) within their permissions.


    Thanks again!

  • R_JR_J Admin

    you cannot change that for existing users

    Oops, I was wrong! The above is only true for the "normal" notifications, not for the Advanced Notifications. Here is what you have to do and what you have to check by yourself before you do so!

    I can tell you how you can set it so that your users are notified by mail. What you need to check by yourself is if users are notified on discussions in categories that they do not have access to (thow I don't think that this will happen)

    You need to give your users the permission "Advanced Notifications", "ALLOW". You can do so by editing the appropriate roles in the dashboard.

    After that you need to run a SQL which will add an entry to the GDN_UserMeta table for all users:

    INSERT
    INTO GDN_UserMeta
    (
     SELECT
       u.UserID as UserID
       , CONCAT('Preferences.Email.NewDiscussion.', c.CategoryID) as Name
       , 1 as Value 
     FROM
       GDN_User u,
       GDN_Category c
     WHERE u.Banned = 0
       AND u.Deleted = 0
       AND c.CategoryID > 0
    );
    

    But that will fail if any user already has set the advanced notifications.

  • KasparKaspar ✭✭✭
    edited June 2021

    Also, be aware if you have a large (ish?) number of members and a large (ish?) number of discussions you might get your mail server marked as spam

    (Recall staff noting this on simular questions)

Sign In or Register to comment.