Email No Longer Works (working now)

On v5.0.47-C38 - docker right now. Two updates ago emailing invoices was working, now nothing happens even though the message on the interface says it went out:

Is there some mail queue or log I can check out? laravel.log doesn’t provide any details. Mail is configured in the .enc file exactly the way it was when it worked two versions ago.

Update… I setup crond and mail started to move again - every time I update, I have to setup the crontab :frowning:

I’m having a similar problem with v5.0.52. I’ve tried several configurations: a Postfix container, Amazon SES, Mailgun SMTP and Mailgun API.

I’ve tried to send invoices manually and it always says it’s sent successfully but I can’t find evidence that any connections are actually happening.

What are you doing with crond/crontab? Is that for recurring invoices?

I’ve updated to v5.0.52 also and email stopped working (was working in previous version - v5.0.51 I think)… this stuff is so hit or miss. When I get to a computer I’ll replay with the cron stuff that works for me.

It isn’t clear why - Invoice Ninja has done this before - but email I sent out (as tests) built up in a queue and was finally sent out a day later. Sending new tests are immediate. Colour me confused on that one.

Now, I can, at least, see what the new mail looks like - and it’s good:.

Sure, it’s ugly green, but the structure of this email looks right and appears to be something a customer would understand. I like the update. Thanks to all for the improvements.

@spacepluk - here’s what I do for cron - it’s an admittedly bad solution, but the only one I’ve found.

Pre-note: This will mess permissions up in the storage folder - so you’ll need to dig and correct locations with permissions such as - chown -R 1500:82 /var/www/app/storage - this usually comes up as an error when you update the IN docker and see a bunch of “operation not permitted” messages in the docker startup log - it’s permissions. I just go into the shell of the “server” docker and fix the above. Sounds bad, but usually not a lot of files affected a couple of mins to sort out.

I do this after every update of IN:

1 - I get into the container’s shell:
# docker exec -it -u root dockerfiles_app_1 /bin/sh

2 - Create a log (good to do). I keep it in persistent storage.
# touch /var/www/app/storage/logs/cronoutput.log
# chown invoiceninja:invoiceninja /var/www/app/storage/logs/cronoutput.log
# chmod 744 /var/www/app/storage/logs/cronoutput.log

3 - Edit the crontab
# crontab -e

I add the following lines at the end:
* * * * * cd /var/www/app && php artisan schedule:run >> /var/www/app/storage/logs/cronoutput.log 2>&1 * 5 * * * echo "" > /var/www/app/storage/logs/cronoutput.log >> /dev/null 2>&1

Looks like this:

4 - Run cron
# crond

The only other thing I do is watch the cron log (created above) to know that it’s running - there will be a new line of text every minute.
# tail -f /var/www/app/storage/logs/cronoutput.log

Hope that helps.

Nice, progress :slight_smile: Looks good, thanks @ben!

I think you can change the email color on Settings > Invoice Design and the style on Settings > Email Settings

1 Like

Correct! You can change the primary color plus also add the .button class to the e-mail to get a nice call button:

Nonetheless: It’s just CSS, feel free to modify it to your needs :+1: