Bug Insufficient credits bug

Sicilian

Customer
Hi,

We're getting an Insufficient credits error message in Xenforo.

We have over 96000 credits with bouncify.

Stack trace​

#0 src/addons/DBTech/Mail/EmailValidator/AbstractValidator.php(93): DBTech\Mail\EmailValidator\BouncifyValidator->validateEmailForUser('syswin@hotmail....', Object(xenMade\STFRT\XF\Entity\User))
#1 src/addons/DBTech/Mail/Repository/ValidatorRepository.php(123): DBTech\Mail\EmailValidator\AbstractValidator->validateUser(Object(xenMade\STFRT\XF\Entity\User))
#2 src/addons/DBTech/Mail/Admin/Controller/LogController.php(464): DBTech\Mail\Repository\ValidatorRepository->verifyEmails()
#3 src/XF/Mvc/Dispatcher.php(362): DBTech\Mail\Admin\Controller\LogController->actionEmailValidationValidate(Object(XF\Mvc\ParameterBag))
#4 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('DBTech\\Mail:Log...', 'EmailValidation...', Object(XF\Mvc\RouteMatch), Object(DBTech\Mail\Admin\Controller\LogController), NULL)
#5 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(DBTech\Mail\Admin\Controller\LogController), NULL)
#6 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#7 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#8 src/XF.php(814): XF\App->run()
#9 admin.php(15): XF::runApp('XF\\Admin\\App')
#10 {main}

Request state​

array(4) {
["url"] => string(53) "/admin.php?dbtech-mail/logs/email-validation/validate"
["referrer"] => string(74) "https://world-of-satellite.com/admin.php?dbtech-mail/logs/email-validation"
["_GET"] => array(1) {
["dbtech-mail/logs/email-validation/validate"] => string(0) ""
}
["_POST"] => array(1) {
["_xfToken"] => string(8) "********"
}
}
 
Admin > Addons > Dragonbyte Mail > Rebuild may have fixed the issue.

I've manually run Email validation a couple of times, 25 email addresses per validation. 50 credits used on Bouncify, no error messages.

I'll keep an eye on it and report back if any further error messages appear.
 
It could also be a temporary issue with Bouncify. There's two cases where the Bouncify validator can cause InsufficientCreditsException - the error message itself from the AdminCP log would be able to tell me which one of the two it is.

If it's BouncifyValidator:54 - Bouncify's API returned 402 Payment Required.
If it's BouncifyValidator:83 - Bouncify's API returned false for the success column and I make an assumption it's due to insufficient credits, though that could be wrong.

In either case, I'm glad it's working for you now :)
 
Errors still occuring:

XF\PrintableException: You have insufficient credits to validate any more email addresses. src/addons/DBTech/Mail/Repository/ValidatorRepository.php:138
Generated by: Unknown account Feb 11, 2026 at 3:01 AM
Stack trace
#0 src/addons/DBTech/Mail/Cron/Mail.php(38): DBTech\Mail\Repository\ValidatorRepository->verifyEmails(true)
#1 src/XF/Job/Cron.php(41): DBTech\Mail\Cron\Mail::verifyEmails(Object(XF\Entity\CronEntry))
#2 src/XF/Job/Manager.php(275): XF\Job\Cron->run(8)
#3 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#4 src/XF/Job/Manager.php(89): XF\Job\Manager->runJobEntry(Array, 8)
#5 src/XF/Cli/Command/RunJobs.php(58): XF\Job\Manager->runQueue(false, 8)
#6 src/vendor/symfony/console/Command/Command.php(298): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 src/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 src/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 src/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 src/XF/Cli/Runner.php(115): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 cmd.php(17): XF\Cli\Runner->run()
#12 {main}

Request state
array(1) {
["cli"] => string(46) "/home/worldsat/public_html/cmd.php xf:run-jobs"
}

Server error log
DBTech\Mail\Exception\InsufficientCreditsException: [DragonByte Mail] Email validation failed: Insufficient credits. src/addons/DBTech/Mail/EmailValidator/BouncifyValidator.php:83
Generated by: Unknown account Feb 11, 2026 at 3:01 AM
Stack trace
#0 src/addons/DBTech/Mail/EmailValidator/AbstractValidator.php(93): DBTech\Mail\EmailValidator\BouncifyValidator->validateEmailForUser('wea1977@aol.com', Object(xenMade\STFRT\XF\Entity\User))
#1 src/addons/DBTech/Mail/Repository/ValidatorRepository.php(123): DBTech\Mail\EmailValidator\AbstractValidator->validateUser(Object(xenMade\STFRT\XF\Entity\User))
#2 src/addons/DBTech/Mail/Cron/Mail.php(38): DBTech\Mail\Repository\ValidatorRepository->verifyEmails(true)
#3 src/XF/Job/Cron.php(41): DBTech\Mail\Cron\Mail::verifyEmails(Object(XF\Entity\CronEntry))
#4 src/XF/Job/Manager.php(275): XF\Job\Cron->run(8)
#5 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#6 src/XF/Job/Manager.php(89): XF\Job\Manager->runJobEntry(Array, 8)
#7 src/XF/Cli/Command/RunJobs.php(58): XF\Job\Manager->runQueue(false, 8)
#8 src/vendor/symfony/console/Command/Command.php(298): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 src/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 src/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 src/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 src/XF/Cli/Runner.php(115): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 cmd.php(17): XF\Cli\Runner->run()
#14 {main}

Request state
array(1) {
["cli"] => string(46) "/home/worldsat/public_html/cmd.php xf:run-jobs"
}
 
Where do I find AdminCP log?
I meant the server error log those messages came from, sorry :D

---

If you login via SSH and go to your forum's directory, then execute
Bash:
php cmd.php dbtech-mail:validate-emails 500

Can the issue be replicated?
 
Yes it can be:


[worldsat@185-17-185-30 public_html]$ php cmd.php dbtech-mail:validate-emails 50 0
Starting email validation...
- User 18 of 500 00:00:22You have insufficient credits to validate any more email addresses.
[worldsat@185-17-185-30 public_html]$


Code:
Stack trace
#0 src/addons/DBTech/Mail/EmailValidator/AbstractValidator.php(93): DBTech\Mail\EmailValidator\BouncifyValidator->validateEmailForUser('jackosoft@live....', Object(xenMade\STFRT\XF\Entity\User))
#1 src/addons/DBTech/Mail/Cli/Command/ValidateEmails.php(121): DBTech\Mail\EmailValidator\AbstractValidator->validateUser(Object(xenMade\STFRT\XF\Entity\User))
#2 src/vendor/symfony/console/Command/Command.php(298): DBTech\Mail\Cli\Command\ValidateEmails->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 src/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 src/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(DBTech\Mail\Cli\Command\ValidateEmails), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 src/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 src/XF/Cli/Runner.php(115): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 cmd.php(17): XF\Cli\Runner->run()
#8 {main}
Request state
array(1) {
  ["cli"] => string(39) "cmd.php dbtech-mail:validate-emails 500"
}

See screenshot, I've got plenty of credits.
 

Attachments

  • Screenshot 2026-02-12 103454.webp
    Screenshot 2026-02-12 103454.webp
    31.3 KB · Views: 1
Can you use the "Attach secure data" button to grant me access to SSH and FTP so I can look into this further? I'll need to be able to modify the files to add debug data so this can resolved.

Thanks!
 
I don't have FTP enabled, do you have experience with Cpanel? Use Filemanager within Cpanel?

Let me know and I'll give you access to Cpanel.
 
Thank you, I have identified the problem and resolved it @ your site.

The problem was that Bouncify was returning this:
Code:
{
  ["result"] => string(19) "Validation timedout"
  ["success"] => bool(false)
}
Which I incorrectly attributed to "insufficient credits". I have updated the Bouncify validator @ your site to correctly flag this as an unknown result for revalidation later.

You should now be able to continue to either validate via CLI or allow this to happen automatically in the background, depending on your needs.

I have also deleted the secure data from my server. For safety reasons, please change the passwords provided.

Thank you!
 
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future release (5.3.0).

Change log:
Fix: Fix incorrect "Insufficient credits" error messages when Bouncify or CaptainVerify returned an unsuccessful validation

 

DragonByte Mail

XenForo 1.5.3+ XenForo 2.0.x XenForo 2.1.x XenForo 2.2.x XenForo 2.3.x
Seller
DragonByte Technologies
Release date
Last update
Total downloads
1,442
Customer rating
0.00 star(s) 0 ratings
Back
Top