Not delivering emails

Version ie <v5.10.30>

Version 5.11.2

System

Email: smtp
queue: database
PDF: SnapPDF PDF Generator

Database Connection

passed

PHP

web: 8.3.6
cli: PHP 8.3.6 (cli) (built: Dec 2 2024 12:36:18) (NTS)
Memory: 128M
API: 5.11.2

Environment <Docker/Shared Hosting/Zip/Other>

Self-hosted

Checklist

  • Can you replicate the issue on our v5 demo site https://demo.invoiceninja.com or Invoice Ninja? No
  • Have you searched existing issues? Yes
  • Have you inspected the logs in storage/logs/laravel.log for any errors? Yes

Describe the bug

I’m attempting to get a test ACH done for my employer- however InvoiceNinja will just not seem to deliver anything.

I’m not sure how/why it’s not working. It says the email has been sent, but my mail server has nothing since the 17th, when it was restarted.

Steps To Reproduce

Create test customer, with recurring balance of $19.99 with a gmail account and wait. The ACH invoice email does not get sent.

Expected Behavior

ACH email gets sent as expected, and customer is debited $19.99.

Additional context

No additional context at this time.

Screenshots

No screenshots to show, as nothing happens.

Logs

Nothing shows up in logs

Hi,

Can you share a screenshot of the health check?

The queue is enabled, is the queue:work cron configured?

Yes, I originally ran it via a systemd unit, but now it’s running through artisan schedule:run, which took care of it on its own, and it stopped complaining that the cron wasn’t running- it still isn’t delivering emails, though.

I think you’re confusing the cron and the queue, to use the queue you need to add the queue:work cron in addition to schedule:run.

This is what I mean, when I say artisan schedule:run-

Do you see any records in the jobs and/or failed_jobs tables?

Two, but they’re for unrelated items (two failed App\Jobs\Company\CompanExports, back before I had properly configured the email).

Did you check both the jobs and failed_jobs tables?

I suggest changing the queue setting to sync in the .env file to disable the queue until you get emails working.

Okay, I did that. Does this mean I don’t have to futz about with ensuring the “Delivery time” matches the next closest hour, and that it’ll just get delivered?

Also, does this mean billing will just, fall into place, when I create a new customer (for now, at least)

Disabling the queue means the app will send the email immediately, rather than create a job in the queue. If the queue is enabled the jobs should be processed within a minute or two.

I suggest checking that the queue is set to sync in the health check and then trying to send an email.

Two more things-

  1. Do I have to purge my test record and upload it again?
  2. Another thing, is it possible to programmatically load billing information, because we HAVE the ACH information, we’re trying to get it out the door as quickly as possible.
  1. Sorry, I’m not sure what you’re referring to
  2. It may be possible using the API, you can use the network tab in the browser console to view sample API requests made by the app

Okay, let me try again for the first question-

Do I have to purge the record and re-run my script to get it to send the invoice out?

If you’ve created an invoice you can just send it again

Oh, okay- so where do I do that? I’ve been all over the UI, I must be missing something- I’m using the react web app.

… OH. I am blind today it seems, lol. “Send email” in the invoice.

Okay, so it DOES in fact work if I manually send emails- I might need to forcibly send emails, I’d prefer to not have to use the API like that; but I will if I must.

So I’ll snoop around in the client manager to see how I update billing information, and will reply back if I have any questions or issues.

So far though, so good! :smiley: