Hello there, I have spent a great deal of time looking over the docs
https://payloadcms.com/docs/authentication/operations
https://payloadcms.com/docs/email/overview#use-an-email-service
https://nodemailer.com/smtp/
https://documentation.mailgun.com/en/latest/quickstart-sending.html#send-via-api
I have tried two different ways to configure the email and have not yet been successful, if anyone sees what I am doing wrong and could be of some assistance that would be very much appreciated. Feeling very human and open to being humbled. 😄
import payload from "payload";
require("dotenv").config();
const app = express();
// import Mailgun from "mailgun.js";
// import formData from "form-data";
// require("form-data");
// require("mailgun.js");
// const mailgunKey = process.env.MAILGUN_API_KEY;
// const mailgunDomain = process.env.MAILGUN_DOMAIN;
// const mailgunForm = new Mailgun(formData);
// const mg = mailgunForm.client({
// username: "api",
// key: process.env.MAILGUN_API_KEY,
// });
require('nodemailer');
require('nodemailer-mailgun-transport');
import nodemailer from 'nodemailer';
import mg from 'nodemailer-mailgun-transport';
const mailgunKey = process.env.MAILGUN_API_KEY;
const mailgunDomain = process.env.MAILGUN_DOMAIN;
const auth = {
auth: {
api_key: mailgunKey,
domain: mailgunDomain
}
}
const transport = nodemailer.createTransport(mg(auth));
// Initialize Payload
payload.init({
secret: process.env.PAYLOAD_SECRET,
mongoURL: process.env.MONGODB_URI,
express: app,
email: {
// transportOptions: mg,
transport: transport,
//logMockCredentials: true,
fromName: process.env.FROM_NAME,
fromAddress: process.env.FROM_ADDRESS,
},
onInit: () => {
payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
},
});
// Add your own express routes here
// Redirect root to Admin panel
app.get("/", (_, res) => {
res.redirect("/admin");
});
app.listen(3001);
Payload CMS
Enabling Authentication automatically makes key operations available such as Login, Logout, Verify, Unlock, Reset Password and more.
Nodemailer is a module for Node.js to send emails