[OJS] auto-prune any non-validated accounts after 14 days not working


Happy New Year. Thanks upfront for all the work you put into the OJS.

We are using version

We have auto pruning configured as describe in the How do I combat SPAM? topic:

Enable Account Validation

OJS can be configured so that an email account validation step must be completed for all new user accounts before they can log in and interact with the system. To do this, uncomment and configure the following lines in config.inc.php:

; If enabled, email addresses must be validated before login is possible.
require_validation = On

; Maximum number of days before an unvalidated account expires and is deleted
validation_timeout = 14

The above configuration will require all new registrations to click on a link and validate their account before being able to log in; and will auto-prune any non-validated accounts after 14 days.

However, we have users in the OJS who registered back on, e.g. 1 October 2020, but failed to validate, but the registration is still there in the database. I can tell by viewing the users SQL table.

Is there a configuration step I may have missed?

Do I need to set up a cron job at the UNIX OS level or is this taken care of elsewhere?

Many thanks in advance for your help.

Kind regards,

Thinking Cap.

Hi we have the validation settings done this way, but a number of new registrations do not receive the validation email (and cannot see inter spam). Can we somewhere “Edit User” as Admin to manually validate (or in the database)??

Hi @SteveRoe,

Unfortunately, it’s not yet implemented, see: Remove unvalidated new accounts after expiry · Issue #4240 · pkp/pkp-lib · GitHub