¿Cuál es el método correcto y actualizado para enviar AWS SES? Tengo dificultades para encontrar información y cuando construyo el archivo de configuración parece que ya no es válido
const client = new aws.SES({ region: "eu-west-1", apiVersion: "2010-12-01", accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, });secretAccessKey y accessKeyId ahora están en desuso. Encontré un nuevo paquete @aws-sdk/client-ses v3 pero el objeto params acepta solo dos claves que pueden ser de cadena o indefinidas y no sé a dónde deben ir los datos del correo electrónico. Estoy tratando de leer los documentos, pero es un dolor... https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ses/classes/sesclient.html este es mi código hasta ahora
import { NextApiHandler } from "next"; import { SESClient, CloneReceiptRuleSetCommand, CloneReceiptRuleSetCommandInput, } from "@aws-sdk/client-ses"; const contactFormHandler: NextApiHandler = async (req, res) => { if (req.method !== "POST") { return res.status(405).setHeader("Allow", "POST").json({}); } const accessKeyId = process.env.AWS_ACCESS_KEY_ID; const secretAccessKey = process.env.AWS_SECRET_ACCESS_KEY; const recipientEmail = process.env.AWS_SES_TO_EMAIL; const senderEmail = process.env.AWS_SES_FROM_EMAIL; const { email, message } = req.body; if (!accessKeyId || !secretAccessKey) { return res.status(500).json({ error: "Invalid credentials" }); } if (!email || !message) { return res.status(400).json({ error: "No data to send" }); } if (!senderEmail || !recipientEmail) { return res.status(500).json({ error: "Sender or recipient not provided" }); } const client = new SESClient({ region: "eu-west-1", apiVersion: "2010-12-01", credentials: { accessKeyId, secretAccessKey, }, }); const params: CloneReceiptRuleSetCommandInput = { OriginalRuleSetName: undefined, RuleSetName: undefined, }; const command = new CloneReceiptRuleSetCommand(params); try { const data = await client.send(command); return res.status(200).json({ message: "all good" }); } catch (error) { return res.status(500).json({ error }); } }; export default contactFormHandler;alguien puede compartir experiencia? Gracias
Se está refiriendo solo a los documentos de referencia. Para trabajar con AWS SDK para JavaScript v3 , consulte la Guía para desarrolladores:
Guía para desarrolladores de AWS SDK for JavaScript para SDK versión 3
Esta guía contiene la información que necesita saber para trabajar correctamente con este SDK. Por ejemplo, para trabajar y configurar sus credenciales, consulte:
Finalmente, puede encontrar muchos ejemplos de código SES que usan AWS SDK para JavaScript en este repositorio de Github.
https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ses
El ejemplo Enviar correo electrónico se incluye aquí.
Puedes hacer lo siguiente:
import aws from "aws-sdk"; aws.config.update({ region: "...", credentials: { accessKeyId: "...", secretAccessKey: "..." } })En la siguiente línea, ahora puede usar su SES
const client = new aws.SES();