11"use strict" ;
22
33const { S3Client, CopyObjectCommand, GetObjectCommand } = require ( "@aws-sdk/client-s3" ) ;
4- const { SESClient , SendRawEmailCommand } = require ( "@aws-sdk/client-ses " ) ;
4+ const { SESv2Client , SendEmailCommand } = require ( "@aws-sdk/client-sesv2 " ) ;
55
66console . log ( "AWS Lambda SES Forwarder // @arithmetric // Version 5.1.0" ) ;
77
@@ -286,19 +286,16 @@ exports.processMessage = function(data) {
286286} ;
287287
288288/**
289- * Send email using the SES sendRawEmail command.
289+ * Send email using the SESv2 SendEmailCommand command.
290290 *
291291 * @param {object } data - Data bundle with context, email, etc.
292292 *
293293 * @return {object } - Promise resolved with data.
294294 */
295295exports . sendMessage = function ( data ) {
296296 var params = {
297- Destinations : data . recipients ,
298- Source : data . originalRecipient ,
299- RawMessage : {
300- Data : Buffer . from ( data . emailData )
301- }
297+ Destination : { ToAddresses : data . recipients } ,
298+ Content : { Raw : { Data : Buffer . from ( data . emailData ) } } ,
302299 } ;
303300 data . log ( {
304301 level : "info" ,
@@ -307,19 +304,19 @@ exports.sendMessage = function(data) {
307304 data . recipients . join ( ", " ) + "."
308305 } ) ;
309306 return new Promise ( function ( resolve , reject ) {
310- data . ses . send ( new SendRawEmailCommand ( params ) , function ( err , result ) {
307+ data . ses . send ( new SendEmailCommand ( params ) , function ( err , result ) {
311308 if ( err ) {
312309 data . log ( {
313310 level : "error" ,
314- message : "SendRawEmailCommand () returned error." ,
311+ message : "SendEmailCommand () returned error." ,
315312 error : err ,
316313 stack : err . stack
317314 } ) ;
318315 return reject ( new Error ( 'Error: Email sending failed.' ) ) ;
319316 }
320317 data . log ( {
321318 level : "info" ,
322- message : "SendRawEmailCommand () successful." ,
319+ message : "SendEmailCommand () successful." ,
323320 result : result
324321 } ) ;
325322 resolve ( data ) ;
@@ -352,7 +349,7 @@ exports.handler = function(event, context, callback, overrides) {
352349 context : context ,
353350 config : overrides && overrides . config ? overrides . config : defaultConfig ,
354351 log : overrides && overrides . log ? overrides . log : console . log ,
355- ses : overrides && overrides . ses ? overrides . ses : new SESClient ( ) ,
352+ ses : overrides && overrides . ses ? overrides . ses : new SESv2Client ( ) ,
356353 s3 : overrides && overrides . s3 ?
357354 overrides . s3 : new S3Client ( { signatureVersion : 'v4' } )
358355 } ;
0 commit comments