Skip to content
Back

SMTP Error: Could not connect to SMTP

  • 0
  • Self Hosted
laurencetroyv
26 Apr, 2025, 10:27

My appwrite self-hosted instance on DigitalOcean cannot sennd emails. The following results were performed

Log:

TypeScript
docker compose logs -f appwrite-worker-mails
appwrite-worker-mails  | [Worker] Worker 0 is ready!
appwrite-worker-mails  | Worker mails  started
appwrite-worker-mails  | [Job] Received Job (680cb38fa668a7.96149614).
appwrite-worker-mails  | [Job] (680cb38fa668a7.96149614) failed to run.
appwrite-worker-mails  | [Job] (680cb38fa668a7.96149614) Error sending mail: SMTP Error: Could not connect to SMTP host. Failed to connect to server
appwrite-worker-mails  | Error log pushed with status code: 200
appwrite-worker-mails  | [Error] Type: Exception
appwrite-worker-mails  | [Error] Message: Error sending mail: SMTP Error: Could not connect to SMTP host. Failed to connect to server
appwrite-worker-mails  | [Error] File: /usr/src/code/src/Appwrite/Platform/Workers/Mails.php
appwrite-worker-mails  | [Error] Line: 145

Environment Variables:

TypeScript
docker compose exec appwrite-worker-mails vars | grep SMTP
- _APP_SMTP_HOST=smtp.sendgrid.net
- _APP_SMTP_PORT=465
- _APP_SMTP_SECURE=tls
- _APP_SMTP_USERNAME=apikey
- _APP_SMTP_PASSWORD=SG.***
TL;DR
Developers are experiencing SMTP connection issues with their self-hosted Appwrite instance on DigitalOcean. The system attempted to perform an OpenSSL test, but encountered connection timeouts. Despite the SMTP settings being correctly configured for Sendgrid, emails are still not sending successfully. The error message "SMTP Error: Could not connect to SMTP host" has been logged in the system.
laurencetroyv
26 Apr, 2025, 10:27

OpenSSL test using command with -tls1, -tls1_2

TypeScript
#!/bin/sh
TO=email@mydomain.com
if [ ! -z "$1" ]; then
    TO=$1
fi
COMMAND='echo -e "From: <$_APP_SYSTEM_EMAIL_ADDRESS>\nSubject: Test SMTP Connection" | sendmail -H "openssl s_client -quiet -tls1 -connect $_APP_SMTP_HOST:$_APP_SMTP_PORT" -au$_APP_SMTP_USERNAME -ap$_APP_SMTP_PASSWORD -f $_APP_SYSTEM_EMAIL_ADDRESS -v'
COMMAND="${COMMAND} ${TO}"
docker compose exec appwrite-worker-mails sh -c "$COMMAND"

Output:

TypeScript
sendmail: send:'NOOP'
283B591CE6700000:error:8000006E:system library:BIO_connect:Operation timed out:crypto/bio/bio_sock2.c:178:calling connect()
283B591CE6700000:error:10000067:BIO routines:BIO_connect:connect error:crypto/bio/bio_sock2.c:180:
283B591CE6700000:error:8000006E:system library:BIO_connect:Operation timed out:crypto/bio/bio_sock2.c:178:calling connect()
283B591CE6700000:error:10000067:BIO routines:BIO_connect:connect error:crypto/bio/bio_sock2.c:180:
connect:errno=110
sendmail: helper exited (1)
laurencetroyv
26 Apr, 2025, 10:29

I can send an email Using the Messaging > Providers > Sendgrid

laurencetroyv
26 Apr, 2025, 10:31

Adding it in Settings > SMPT will result an error

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