Testmail fails, no clear reason given

Hello. I’m trying to get Vikunja emails working, but testmail fails.

$ docker-compose exec vikunja /app/vikunja/vikunja testmail my-email@example.com
2026/02/03 16:05:37 failed to create modcache index dir: mkdir /.cache: permission denied
time=2026-02-03T16:05:37.758Z level=INFO msg="No config file found, using default or config from environment variables."
time=2026-02-03T16:05:37.761Z level=DEBUG msg="Redis initialized"
time=2026-02-03T16:05:37.761Z level=INFO msg="Sending testmail..."
time=2026-02-03T16:05:37.764Z level=ERROR msg="Error sending test mail: send failed: checking SMTP connection: not connected to SMTP server"

I set the log level to debug and the email log as stdout, but that’s all I’m getting.

I’m running Vikunja inside a Docker container. My SMTP server is a different Docker container in the same network. This is my related configuration:

VIKUNJA_MAILER_ENABLED=true
VIKUNJA_MAILER_HOST=smtp-relay
VIKUNJA_MAILER_PORT=2500
VIKUNJA_MAILER_AUTHTYPE=plain
VIKUNJA_MAILER_USERNAME=""
VIKUNJA_MAILER_FROMEMAIL=vikunja-email@example.com
VIKUNJA_MAILER_SKIPTLSVERIFY=true

What I’ve tried so far:

  • Original config had auth type, username and skiptlsverify not specified. I added them trying to debug the issue, but it made no difference.
  • The Vikunja docker image doesn’t seem to provide a basic shell to ping the smtp container and test connectivity. However, pinging the vikunja container from within the smtp container works.

Any idea of what I might be doing wrong?

Thanks!

Anything in the logs of the SMTP server?

No, nothing, but I’ll check if I can set it in debug logging mode or something.

I captured the network traffic and I saw this:

220 localhost ESMTP msmtpd

EHLO 5559deda3649

250 localhost

NOOP

500 Expected MAIL FROM:<addr> or QUIT

QUIT

It seems like Vikunja is sending a NOOP command, and msmtpd does not support it.

Ok, this seems to be a bug on the part of my smtp server, I already reported it.

Thanks!