kevos-attire/frontend/src/app/actions/sendEmail.ts

44 lines
1.2 KiB
TypeScript

"use server"
import { Resend } from "resend"
import { validateString } from "@/lib/utils";
import OrderFormEmail from "../emailTemplates/order-form-email";
import React from "react";
import 'dotenv/config';
const resend = new Resend(process.env.RESEND_API_KEY);
export const sendEmail = async (formData: FormData) => {
//rate limit
//only allow authenticated user as well
const senderEmail = formData.get('senderEmail');
const message = formData.get('message');
if (!validateString(senderEmail, 500)){
return{ error: "Invalid sender Email",};
}
if (!validateString(message, 5000)){
return{ error: "Invalid message",};
}
// console.log("Running on sever");
// console.log(formData.get("senderEmail"));
// console.log(formData.get("message"));
try {
await resend.emails.send({
from:"Order Form <orders@kevosattire.com>",
to:"arcjcb11@gmail.com",
subject: "New Order",
reply_to: senderEmail as string,
// text: message as string,
react: React.createElement(OrderFormEmail, {message: message as string, senderEmail: senderEmail as string}),
});
} catch (error: unknown){
return console.log(error)
}
};