Skip to content
Back

SMTP flooding

  • 0
  • 3
  • Self Hosted
21 Jul, 2026, 10:15

I upgraded a self-hosted server from 1.8.1 to 1.9.0 then 1.9.5 and now every day at 02:00 AM seems the instance flood Mailjet with a ton of trash email "demo@example.com" subject "Test SMTP Connection" why? There is env 200 mail sent by day! Seems to impact my quota of email too...

Tried to see mail logs: docker logs appwrite-worker-mails but the mails was not sent too...

TypeScript
worker.v1-mails · 311.2ms · 18711ebc

  level                 info
  project.id            x-prod
  mail.template         recovery
  mail.smtp_type        cloud
  mail.recipient_domain gmail.com
  mail.status           success

────────────────────────────────────────────────────────────
worker.v1-mails · 123.3ms · 29509daf

  level                 info
  project.id            x-prod
  mail.template         recovery
  mail.smtp_type        cloud
  mail.recipient_domain gmail.com
  mail.status           success
TL;DR
A user is asking for help in modifying a section of code related to SMTP flooding. Another user suggests a corrected version of the code for the user to implement, which includes changing the healthcheck command. The issue seems to be resolved with the new healthcheck command. The user plans to check the changes the next day.
21 Jul, 2026, 10:52

in your docker compose change healthcheck for appwrite to this

TypeScript
healthcheck:
  test:
    - CMD-SHELL
    - 'curl -fsS -o /dev/null -H "Host: $${_APP_DOMAIN:-localhost}" http://localhost/v1/health/version'
  interval: 5s
  timeout: 5s
  retries: 12
  start_period: 120s

this has been fixed in latest compose file

21 Jul, 2026, 11:06

Thanks, you mean this one:

TypeScript
appwrite:
    container_name: appwrite
    logging:
      driver: json-file
      options:
        max-file: "5"
        max-size: 10m
    image: ${_APP_IMAGE:-appwrite/appwrite}:${_APP_VERSION:-latest}
    healthcheck:
      test:
      - CMD
      - doctor
      interval: 5s
      timeout: 5s
      retries: 12
    networks:
    - appwrite

Need to be:

TypeScript
appwrite:
    container_name: appwrite
    logging:
      driver: json-file
      options:
        max-file: "5"
        max-size: 10m
    image: ${_APP_IMAGE:-appwrite/appwrite}:${_APP_VERSION:-latest}
    healthcheck:
      test:
        - CMD-SHELL
        - 'curl -fsS -o /dev/null -H "Host: $${_APP_DOMAIN:-localhost}" http://localhost/v1/health/version'
      interval: 5s
      timeout: 5s
      retries: 12
      start_period: 120s
networks:
    - appwrite

That's OK?

21 Jul, 2026, 11:07

Seems also related to <#1529074044882915338> because it retry but the instance seems healthy...

21 Jul, 2026, 11:26

i think the issue is that the appwrite-api use the doctor as the healthcheck, you should change it to request the /v1/health/version endpoint instead

21 Jul, 2026, 11:28

oh mb, didn't saw you kinda resolved the issue but ye, the second seams to be the right healthcheck, you can compare with the thread i linked

21 Jul, 2026, 11:30

Perfect, I updated the docker compose thanks both! Will check tomorrow

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more