[nodejs] AWS Lambda로 이메일 처리하기

서버리스 아키텍처의 대표적인 서비스 중 하나인 AWS Lambda를 사용하면 이메일 처리를 쉽게 구현할 수 있습니다. 이 튜토리얼에서는 Node.js와 AWS Lambda를 이용하여 이메일 전송을 처리하는 방법을 알아보겠습니다.

AWS Lambda란 무엇인가요?

AWS Lambda는 서버 없이 코드를 실행할 수 있는 서비스입니다. 이벤트가 발생할 때마다 자동으로 코드를 실행해주므로 서버 프로비저닝이나 관리 없이도 애플리케이션을 실행할 수 있습니다.

Node.js로 이메일 전송 기능 구현하기

const aws = require('aws-sdk');
const ses = new aws.SES({ region: 'us-east-1' });

exports.handler = async (event) => {
  const params = {
    Destination: {
      ToAddresses: ['recipient@example.com']
    },
    Message: {
      Body: {
        Text: {
          Data: 'This is a test email'
        }
      },
      Subject: { Data: 'Test Email' }
    },
    Source: 'sender@example.com'
  };
  try {
    await ses.sendEmail(params).promise();
    return { statusCode: 200, body: 'Email sent successfully' };
  } catch (err) {
    return { statusCode: 500, body: err.message };
  }
};

AWS Lambda에서 Node.js 코드 실행하기

  1. AWS 콘솔에 로그인합니다.
  2. Lambda 콘솔로 이동하여 “함수 생성” 버튼을 클릭합니다.
  3. 함수 이름을 지정하고 “런타임”으로 Node.js를 선택합니다.
  4. 해당 코드를 붙여넣고 트리거를 설정한 후 함수를 생성합니다.

이제 원하는 이벤트가 발생했을 때 해당 Lambda 함수가 실행되어 이메일이 전송됩니다.

AWS Lambda를 사용하여 이메일 처리 기능을 구현하는 방법에 대해 알아보았습니다. 서버리스 아키텍처를 활용하면 더 효율적으로 이메일 처리 기능을 구현할 수 있습니다.

References