/*!
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
*/
import { SESClient, SendEmailCommand } from "@aws-sdk/client-ses";
export const handler = async (event, context, callback) => {
const sesClient = new SESClient();
const dataFromForm = event.Details.Parameters.formData;
const customerName = event.Details.Parameters.customerFullName;
console.log(dataFromForm);
const messageBodyHTML =
`
Message: ${customerName}
Message from SBSGuides
- Date: ${dataFromForm['appt-day']}
- Time: ${dataFromForm['appt-time']}
- Details: ${dataFromForm['message-details']}
`;
const messageBody = `Message from SBSGuides. ${customerName}, with data 'date': ${dataFromForm['appt-day']}, 'time': ${dataFromForm['appt-time']}, and 'details':${dataFromForm['message-details']}`;
const sendEmailCommand = new SendEmailCommand({
Destination: { /* required */
ToAddresses: [
event.Details.Parameters.destinationEmail,
]
},
Message: { /* required */
Body: { /* required */
Html: {
Charset: "UTF-8",
Data: messageBodyHTML
},
Text: {
Charset: "UTF-8",
Data: messageBody
}
},
Subject: {
Charset: 'UTF-8',
Data: 'Message from SBSGuides'
}
},
Source: event.Details.Parameters.systemEmail
});
try {
const response = await sesClient.send(sendEmailCommand);
return {"status": 200}
} catch (e) {
console.error("Failed to send email.");
console.log(e);
return {"status": 500}
}
};