diff --git a/docs/.vitepress/theme/components/Services/List.vue b/docs/.vitepress/theme/components/Services/List.vue index 3a4d8c8cf..71c116f8e 100644 --- a/docs/.vitepress/theme/components/Services/List.vue +++ b/docs/.vitepress/theme/components/Services/List.vue @@ -1697,9 +1697,9 @@ const services = [ category: 'Development' }, { - name: 'Unsend', - slug: 'unsend', - icon: '/docs/images/services/unsend-logo.svg', + name: 'Usesend', + slug: 'usesend', + icon: '/docs/images/services/usesend-logo.png', description: 'Open-source email recall service.', category: 'Email' }, diff --git a/docs/public/images/services/unsend-logo.svg b/docs/public/images/services/unsend-logo.svg deleted file mode 100644 index f5ff6fabc..000000000 --- a/docs/public/images/services/unsend-logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/public/images/services/usesend-hero-dark.webp b/docs/public/images/services/usesend-hero-dark.webp new file mode 100644 index 000000000..2d32bc4f3 Binary files /dev/null and b/docs/public/images/services/usesend-hero-dark.webp differ diff --git a/docs/public/images/services/usesend-logo.png b/docs/public/images/services/usesend-logo.png new file mode 100644 index 000000000..a2c1721e8 Binary files /dev/null and b/docs/public/images/services/usesend-logo.png differ diff --git a/docs/services/all.md b/docs/services/all.md index 227a19c3f..df39f9d6e 100644 --- a/docs/services/all.md +++ b/docs/services/all.md @@ -196,7 +196,7 @@ Complete directory of all one-click services available in Coolify, organized by ## Email -- [Unsend](/services/unsend) - An open source bulk email manager +- [Usesend](/services/usesend) - An open source bulk email manager ## Family diff --git a/docs/services/unsend.md b/docs/services/unsend.md deleted file mode 100644 index b6a2112a3..000000000 --- a/docs/services/unsend.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Unsend -description: "Send emails on Coolify with Unsend for developer-focused email API, templates, testing, and transactional email delivery service." ---- - -# Unsend - - - -## What is Unsend - -Unsend is an open-source alternative to Resend, Sendgrid, Mailgun and Postmark etc. - -## Links - -- [Official Documentation](https://docs.usesend.com/self-hosting/overview?utm_source=coolify.io) diff --git a/docs/services/usesend.md b/docs/services/usesend.md new file mode 100644 index 000000000..63f85ccdc --- /dev/null +++ b/docs/services/usesend.md @@ -0,0 +1,113 @@ +--- +title: Usesend +description: "Send emails on Coolify with Usesend for developer-focused email API, templates, testing, and transactional email delivery service." +--- + +# Usesend +
+ + +## What is Usesend + +Usesend is an open-source alternative to Resend, Sendgrid, Mailgun and Postmark etc. + +There are some setup to be made, please refer to the [official documentation](https://docs.usesend.com/self-hosting/overview?utm_source=coolify.io) for more information. + +## SMTP Configuration + +Running Usesend with SMTP support requires an additional relay component to handle incoming SMTP requests. This relay service binds to multiple ports supporting both SSL and TLS connections. + +### Prerequisites + +Before configuring the SMTP relay, you need to add a certificate dumper to your Traefik proxy configuration to make Coolify's SSL certificates accessible to the relay: + +1. Navigate to **Server** → **Proxy** → **Configuration** +2. Add the following certificate dumper configuration: + +```yaml +traefik-certs-dumper: + image: ghcr.io/kereis/traefik-certs-dumper:latest + container_name: traefik-certs-dumper + restart: unless-stopped + depends_on: + - traefik + volumes: + - /etc/localtime:/etc/localtime:ro + - /data/coolify/proxy:/traefik:ro + - /data/coolify/certs:/output +``` + +This service extracts Traefik-managed certificates and outputs them to `/data/coolify/certs/`, making them available for the SMTP relay to use for SSL and TLS connections. + +### Adding the SMTP Relay Service + +Add the following service at the end of the compose file (by clicking on "Edit compose file" when adding the service): + +:::info +Replace `###USESEND FQDN (e.g. usesend.example.com)###` with your unsend domain name in the configuration below. +::: +```yaml + smtp-server: + container_name: usesend-smtp-server + image: 'usesend/smtp-proxy:latest' + volumes: + - type: bind + source: /data/coolify/certs/###USESEND FQDN (e.g. usesend.example.com)###/key.pem + target: /data/certs/key.pem + read_only: true + - type: bind + source: /data/coolify/certs/###USESEND FQDN (e.g. usesend.example.com)###/cert.pem + target: /data/certs/cert.pem + read_only: true + environment: + - SMTP_AUTH_USERNAME=usesend + - SERVICE_FQDN_SMTP + - 'USESEND_BASE_URL=${SERVICE_URL_USESEND_3000}' + - USESEND_API_KEY_PATH=/data/certs/key.pem + - USESEND_API_CERT_PATH=/data/certs/cert.pem + ports: + - '25:25' + - '587:587' + - '2587:2587' + - '465:465' + - '2465:2465' + healthcheck: + test: + - CMD + - nc + - -z + - localhost + - "25" + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s +``` + +Then add those environment variables to the main Usesend service: + +```yaml + - SMTP_HOST=${SERVICE_FQDN_SMTP} + - SMTP_USER=${SMTP_AUTH_USERNAME} +``` + +### Using Usesend SMTP in Your Applications + +Once the relay is deployed, configure your sending applications with the following settings: + +- **SMTP Host**: Your Usesend URL +- **SMTP Port**: 465 (SSL) or 587 (TLS/STARTTLS) +- **Username**: `usesend` +- **Password**: Your Usesend API key (generated from the Usesend dashboard) + +The relay supports multiple ports for compatibility with different applications: +- **Standard SMTP**: Ports 25, 587, 2587 +- **SSL/TLS**: Ports 465, 2465 + +You can verify that emails are being sent successfully through Usesend's deliverability reports and message previews in the dashboard. + +## Links + +- [Official Documentation](https://docs.usesend.com/self-hosting/overview?utm_source=coolify.io) +- [Official Website ↗](https://usesend.com?utm_source=coolify.io) +- [GitHub ↗](https://github.com/usesend/usesend) \ No newline at end of file