====== Email Validation ====== Email Validation (based on ''emailval.js'' v0.2 by [[person:tracker1]]) is a simple script that, when enabled, requires a user to validate their email address by entering a validation code that the system has e-mailed to them. Upon successful validation, the user's security level is updated, allowing for more access privileges. ===== Invoke ===== Normally this module executes automatically for every Terminal Server logon via the [[module:logon]] module (controlled via ''[[config:modopts.ini]]''), but for testing, it can also be run using the '';exec'' sysop command. Alternatively, it could be configured to run via [[util:SCFG]]->External Programs->Online Programs (configured to Execute upon "Logon") or [[util:SCFG]]->External Programs->Fixed Events->Logon Event (runs much later in the logon process). A test mode can be enabled by including the ''-test'' argument on the command-line. This will cause the module to display the menu even if the current user has already been "validated". ===== Install ===== Set ''email_validation = true'' in the ''[logon]'' section of your ''[[dir:ctrl]]/[[config:modopts.ini]]'' file. ===== Configure ===== The [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/emailval.js|e-mail validation module]] supports the following configuration options in ''[[dir:ctrl]]/[[dir:modopts]]/emailval.ini'' (the default) or the ''[emailval]'' section of the ''[[dir:ctrl]]/[[config:modopts.ini]]'' file: ^ Option ^ Default ^ Description ^ | valid_chars | ''ACDEFHJKLMNPQRTUVWXY23456789!@#$%&*'' | Valid characters to use in generated validation codes | | code_length | ''16'' | Length of generated validation codes | | level_before_validation | ''50'' | Security [[access:level]] of unvalidated users | | level_after_validation | ''60'' | Security [[access:level]] of validated users (optional) | | flags1_after_validation | //no change// | [[access:Flags]] (from flags set 1) to give, add-to, or remove-from validated users | | flags2_after_validation | //no change// | " " (from flags set 2) | | flags3_after_validation | //no change// | " " (from flags set 3) | | flags4_after_validation | //no change// | " " (from flags set 4) | | exemptions_after_validation | //no change// | [[access:Exemptions]] to give, add-to, or remove-from validated users | | restrictions_after_validation | //no change// | [[access:Restrictions]] to give, add-to, or remove-from validated users | | expiration_after_validation | ''false'' | If ''true'', leave or extend the user account expiration date. If ''false'', set validated users to not expire | | expiration_days_after_validation | //no change// | If ''expiration_after_validation = true'', the days to extend the user's expiration date, once validated | | credits_added_after_validation | 0 | Number of credits to award the user after validation | | minutes_added_after_validation | 0 | Number of minutes to bank for the user after validation | | prompt | | Override the default prompt | **Note**:\\ The flags, exemptions, and restrictions ''.ini'' values support 'A' through 'Z' with the optional '+' (add) and '-' (remove) modifiers.\\ e.g. "+A-B" to add the A flag and remove the B flag \\ e.g. "AB" to change the flag set to just "AB" \\ Numeric values are supported for assignment (not modification). \\ e.g. 0 = no flags, 1 = A, 2 = B, 4 = C, 8 = D, etc. ===== Customize ===== If the ''[[dir:text]]/menu/emailval.*'' display file exists, it'll be displayed in place of the default introductory text. ===== See Also ===== * [[:module:|Modules]]