Skip to content

Commit 9fda69e

Browse files
committed
added email sending capabilities
1 parent f14960e commit 9fda69e

24 files changed

Lines changed: 1154 additions & 14 deletions

‎Cargo.lock‎

Lines changed: 192 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ clap = { version = "4.5.60", features = ["derive"] }
2323
color-eyre = "0.6.5"
2424
dotenvy = "0.15.7"
2525
futures-util = "0.3.32"
26+
handlebars = { version = "6.4.0", features = ["dir_source"] }
2627
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto", "use_pem"] }
28+
lettre = { version = "0.11.19", features = ["tokio1", "tracing", "tokio1-native-tls"] }
2729
regex = "1.12.3"
2830
serde = { version = "1.0.228", features = ["derive"] }
2931
serde-saphyr = "0.0.21"

‎compose.yaml‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ services:
77
- .env
88
ports:
99
- "5432:5432"
10+
networks:
11+
- postgresql
12+
13+
mailer:
14+
image: mailtutan/mailtutan:latest
15+
container_name: mailer
16+
restart: unless-stopped
17+
ports:
18+
- "1080:1080"
19+
- "1025:1025"
20+
networks:
21+
- mailer
1022

1123
test-db:
1224
image: postgres:17.5-alpine
@@ -16,3 +28,10 @@ services:
1628
- .env.test
1729
ports:
1830
- "5433:5432"
31+
networks:
32+
- postgresql
33+
34+
35+
networks:
36+
postgresql:
37+
mailer:

‎config/development.yaml‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,13 @@ auth:
3232
private_key: secrets/keys/dev/refresh_key.pem
3333
public_key: secrets/keys/dev/refresh_key_pub.pem
3434
maxage: 604800 # 7 Days
35+
36+
mailer:
37+
smtp:
38+
enable: true
39+
host: {{ get_env(name = "MAILER_HOST", default= "localhost") }}
40+
port: 1025
41+
secure: false
42+
auth:
43+
# user:
44+
# password:

‎config/testing.yaml‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,14 @@ auth:
4040
private_key: secrets/keys/dev/refresh_key.pem
4141
public_key: secrets/keys/dev/refresh_key_pub.pem
4242
maxage: 604800 # 7 Days
43+
44+
45+
mailer:
46+
smtp:
47+
enable: true
48+
host: {{ get_env(name = "MAILER_HOST", default= "localhost") }}
49+
port: 1025
50+
secure: false
51+
auth:
52+
# user:
53+
# password:

‎migrations/20260313131422_init.up.sql‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ CREATE TABLE IF NOT EXISTS users (
77
email VARCHAR(255) NOT NULL UNIQUE,
88
password_hash VARCHAR(255) NOT NULL,
99
verified_at TIMESTAMP WITH TIME ZONE,
10+
verification_token VARCHAR(255) NOT NULL DEFAULT gen_random_uuid(),
11+
reset_token VARCHAR(255),
12+
reset_token_sent_at TIMESTAMP WITH TIME ZONE,
1013
image TEXT,
1114
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
1215
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP

0 commit comments

Comments
 (0)