Skip to content

E-posti seadistamine Docker paigaldustele

See juhend aitab seadistada väljuva e-posti Kordonis, kui see on paigaldatud Dockeri konteinerina kliendi taristusse (on-premise keskkondades).

  • Kordoni Dockeri image on paigaldatud ja töötab
  • Ligipääs keskkonnamuutujate muutmiseks (läbi docker-compose.yml või .env faili)
  • SMTP serveri ligipääsuandmed (vaata Teenusepakkuja valikud allpool)

Kirjade saatmiseks on vaja SMTP serverit. Valikud:

  • Organisatsiooni e-posti server (Exchange, Office 365, Google Workspace)
  • Kolmanda osapoole teenus (SendGrid, Mailgun, Postmark - vaata detaile allpool)
  • Kohalik mail relay (kui infrastruktuuris on see olemas)

Lisa need muutujad Dockeri paigalduse konfiguratsiooni:

Loo või uuenda .env faili paigalduse kaustas:

Terminal window
# E-posti seadistus
SMTP_HOST=smtp.sinu-teenusepakkuja.com
SMTP_USERNAME=sinu-email@ettevote.ee
SMTP_PASSWORD=sinu-parool-voi-api-voti
SMTP_PORT=587
SMTP_DOMAIN=sinu-ettevote.ee
SMTP_FROM_EMAIL=noreply@ettevote.ee
# Rakenduse seadistus
APP_PUBLIC_DOMAIN=kordon.sinu-ettevote.ee

Seejärel viita sellele docker-compose.yml failis:

services:
kordon-app:
image: kordon-app:latest
env_file:
- .env

Valik B: Kasutades docker-compose.yml faili

Section titled “Valik B: Kasutades docker-compose.yml faili”
version: '3.8'
services:
kordon-app:
image: kordon-app:latest
environment:
# E-posti seadistus - Kohustuslik
SMTP_HOST: smtp.sinu-teenusepakkuja.com
SMTP_USERNAME: sinu-email@ettevote.ee
SMTP_PASSWORD: sinu-parool-voi-api-voti
# E-posti seadistus - Valikuline (vaikeväärtustega)
SMTP_PORT: 587 # Vaikimisi: 587
SMTP_AUTHENTICATION: cram_md5 # Vaikimisi: plain
SMTP_DOMAIN: sinu-ettevote.ee # Vaikimisi: kordon.app
SMTP_ENABLE_STARTTLS_AUTO: true # Vaikimisi: true
SMTP_FROM_EMAIL: noreply@ettevote.ee # Vaikimisi: kordon@{SMTP_DOMAIN}
# Rakenduse seadistus
APP_PUBLIC_DOMAIN: kordon.sinu-ettevote.ee
# ... muud keskkonnamuutujad ...

Pärast seadistamist testi e-kirjade kohaletoimetamist:

Terminal window
# Sisene töötavasse konteinerisse
docker exec -it <konteineri-nimi> bash
# Käivita e-posti test
bundle exec rake email:test_simple
# Või testi iganädalast teavituste tööd
bundle exec rails runner "TaskNotificationJob.perform_now"

Kontrolli rakenduse logidest e-kirjade saatmise kinnitust.