For the posterity: the Codex was not very clear for newer user: the Settings > Email mentionned is in the public user profile settings, and only available if you have the “Notifications” component enabled.
It does not allow to define the default values for the users settings. Each user can customize their own themselves.
If I’m not mistaken to customize the “default” you can use this code:
add_action( 'bp_core_activated_user', 'wps_set_email_notifications_preference');
function wps_set_email_notifications_preference( $user_id ) {
$settings = array(
'notification_activity_new_mention' => 'yes',
'notification_activity_new_reply' => 'yes',
'notification_friends_friendship_accepted' => 'yes',
'notification_friends_friendship_request' => 'yes',
'notification_groups_admin_promotion' => 'yes',
'notification_groups_group_updated' => 'yes',
'notification_groups_invite' => 'yes',
'notification_groups_membership_request' => 'yes',
'notification_messages_new_message' => 'yes',
);
foreach( $settings as $setting => $preference ) {
bp_update_user_meta( $user_id, $setting, $preference );
}
}