Skip to content

Commit 4ffd88f

Browse files
committed
feat(cms): add email support
1 parent ded13d2 commit 4ffd88f

File tree

4 files changed

+37
-19
lines changed

4 files changed

+37
-19
lines changed

cms/.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ COINGECKO_API_KEY=your_coingecko_api_key
1414

1515
# Trigger.dev (for automated sync tasks)
1616
TRIGGER_SECRET_KEY=your_trigger_secret_key_here
17+
18+
# SMTP Email Configuration
19+
SMTP_HOST=your_smtp_host_here
20+
SMTP_USER=your_smtp_username_here
21+
SMTP_PASS=your_smtp_password_here

cms/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"@asteasolutions/zod-to-openapi": "^7.0.0",
2828
"@libsql/client": "^0.15.12",
2929
"@payloadcms/db-vercel-postgres": "^3.52.0",
30+
"@payloadcms/email-nodemailer": "^3.52.0",
3031
"@payloadcms/next": "^3.52.0",
3132
"@payloadcms/payload-cloud": "^3.52.0",
3233
"@payloadcms/richtext-lexical": "^3.52.0",

cms/src/payload.config.shared.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import path from "node:path";
44
import { fileURLToPath } from "node:url";
5+
import { nodemailerAdapter } from "@payloadcms/email-nodemailer";
56
import { payloadCloudPlugin } from "@payloadcms/payload-cloud";
67
import { lexicalEditor } from "@payloadcms/richtext-lexical";
78
import sharp from "sharp";
@@ -28,4 +29,16 @@ export const sharedConfig = {
2829
},
2930
sharp,
3031
plugins: [payloadCloudPlugin()],
32+
email: nodemailerAdapter({
33+
defaultFromAddress: "cms@superfluid.pro",
34+
defaultFromName: "Superfluid CMS",
35+
transportOptions: {
36+
host: process.env.SMTP_HOST,
37+
port: 587,
38+
auth: {
39+
user: process.env.SMTP_USER,
40+
pass: process.env.SMTP_PASS,
41+
},
42+
},
43+
}),
3144
};

pnpm-lock.yaml

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

0 commit comments

Comments
 (0)