Skip to content

Commit 0c0ab1a

Browse files
committed
Add email config and sort attributes
1 parent 84fc843 commit 0c0ab1a

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

apps/trustlab/next.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ const outputFileTracingRoot = PROJECT_ROOT
1010
const nextConfig = {
1111
images: {
1212
domains: process.env.NEXT_PUBLIC_IMAGE_DOMAINS?.split(",")
13-
?.map((d) => d.trim())
14-
?.filter((d) => d),
13+
.map((d) => d.trim())
14+
.filter(Boolean),
1515
unoptimized:
1616
process.env.NEXT_PUBLIC_IMAGE_UNOPTIMIZED?.trim()?.toLowerCase() ===
1717
"true",

apps/trustlab/payload.config.ts

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sharp from "sharp";
22
import { lexicalEditor } from "@payloadcms/richtext-lexical";
33
import { mongooseAdapter } from "@payloadcms/db-mongodb";
4+
import { nodemailerAdapter } from "@payloadcms/email-nodemailer";
45
import { buildConfig, CollectionConfig, GlobalConfig } from "payload";
56
import path from "path";
67
import { fileURLToPath } from "url";
@@ -23,9 +24,27 @@ const csrf =
2324
?.map((d) => d.trim())
2425
?.filter(Boolean) ?? [];
2526

27+
let email = nodemailerAdapter();
28+
if (process.env.SMTP_HOST && process.env.SMTP_PASS) {
29+
const smtpPort = Number(process.env.SMTP_PORT) || 587;
30+
email = nodemailerAdapter({
31+
defaultFromAddress:
32+
process.env.SMTP_FROM_ADDRESS || "[email protected]",
33+
defaultFromName: process.env.SENDGRID_FROM_NAME || "TrustLab CMS",
34+
// Any Nodemailer transport can be used
35+
transportOptions: {
36+
host: process.env.SMTP_HOST,
37+
port: smtpPort,
38+
secure: smtpPort === 465, // true for port 465, false (the default) for others
39+
auth: {
40+
user: process.env.SMTP_USER || "apikey",
41+
pass: process.env.SMTP_PASS,
42+
},
43+
},
44+
});
45+
}
46+
2647
export default buildConfig({
27-
serverURL: process.env.NEXT_PUBLIC_APP_URL,
28-
editor: lexicalEditor(),
2948
admin: {
3049
importMap: {
3150
baseDir: path.resolve(dirname),
@@ -34,6 +53,11 @@ export default buildConfig({
3453
collections: [Pages, Media, Users] as CollectionConfig[],
3554
cors,
3655
csrf,
56+
db: mongooseAdapter({
57+
url: process.env.MONGO_URL || "",
58+
}),
59+
email,
60+
editor: lexicalEditor(),
3761
globals: [SiteSettings] as GlobalConfig[],
3862
...(locales?.length
3963
? {
@@ -44,14 +68,11 @@ export default buildConfig({
4468
},
4569
}
4670
: undefined),
71+
plugins: [...plugins],
4772
secret: process.env.PAYLOAD_SECRET || "",
48-
db: mongooseAdapter({
49-
url: process.env.MONGO_URL || "",
50-
}),
73+
serverURL: process.env.NEXT_PUBLIC_APP_URL,
74+
sharp,
5175
typescript: {
5276
outputFile: path.resolve(dirname, "payload-types.ts"),
5377
},
54-
plugins: [...plugins],
55-
56-
sharp,
5778
});

0 commit comments

Comments
 (0)