AWS에서 SST를 사용하여 이메일 보내기
SST를 사용하여 AWS API에서 이메일을 보내는 방법.
AWS에서 SST로 이메일 보내기
AWS에서 서버리스 API를 사용해 간단한 SST 앱을 만들고, 이메일을 보내는 방법을 알아보겠습니다.
시작하기 전에 AWS 자격 증명을 설정해야 합니다.
1. 프로젝트 생성
앱을 만들어 보겠습니다.
mkdir my-email-app && cd my-email-appnpm init -ySST 초기화
이제 앱에서 SST를 초기화해 보겠습니다.
npx sst@latest initnpm install기본값을 선택하고 AWS를 선택합니다. 이렇게 하면 프로젝트 루트에 sst.config.ts 파일이 생성됩니다.
2. 이메일 추가하기
이제 앱에 이메일 기능을 추가해 보겠습니다. 이 기능은 내부적으로 Amazon SES를 사용합니다. sst.config.ts 파일을 업데이트하세요.
async run() { const email = new sst.aws.Email("MyEmail", { sender: "email@example.com", });}SES는 검증된 이메일 주소나 도메인에서 이메일을 보낼 수 있습니다. 간단하게 하기 위해 이메일 주소를 사용해 보내겠습니다. 다음 단계에서 이메일 주소를 검증할 것이므로 여기서는 여러분의 이메일 주소를 사용해야 합니다.
3. API 추가하기
이제 호출 시 이메일을 보내는 간단한 API를 만들어 보겠습니다. 이를 sst.config.ts에 추가합니다.
const api = new sst.aws.Function("MyApi", { handler: "sender.handler", link: [email], url: true,});
return { api: api.url,};이메일 컴포넌트를 API에 연결합니다.
개발 모드 시작
여러분의 앱을 개발 모드로 시작합니다. 이 명령어는 여러분의 함수를 Live로 실행합니다.
npx sst dev이 명령어를 실행하면 API URL을 확인할 수 있습니다.
+ Complete api: https://wwwrwteda6kbpquppdz5i3lg4a0nvmbf.lambda-url.us-east-1.on.aws/또한 발신자 이메일 주소를 확인하라는 이메일을 받게 됩니다.

이메일 주소를 확인하려면 링크를 클릭하세요.
4. 이메일 보내기
API가 호출될 때 SES 클라이언트를 사용해 이메일을 보내보겠습니다. 새로운 sender.ts 파일을 만들고 다음 내용을 추가합니다.
export const handler = async () => { await client.send( new SendEmailCommand({ FromEmailAddress: Resource.MyEmail.sender, Destination: { ToAddresses: [Resource.MyEmail.sender], }, Content: { Simple: { Subject: { Data: "Hello World!", }, Body: { Text: { Data: "Sent from my SST app.", }, }, }, }, }) );
return { statusCode: 200, body: "Sent!" };};SES 계정이 샌드박스 모드일 수 있고, 검증된 이메일로만 보낼 수 있기 때문에 보내는 이메일과 동일한 검증된 이메일로 이메일을 보냅니다. 아래에서 프로덕션으로 전환하는 방법을 살펴보겠습니다.
필요한 모듈을 임포트합니다.
import { Resource } from "sst";import { SESv2Client, SendEmailCommand } from "@aws-sdk/client-sesv2";
const client = new SESv2Client();그리고 npm 패키지를 설치합니다.
npm install @aws-sdk/client-sesv2앱 테스트하기
앱을 테스트하려면 API를 호출하세요.
curl https://wwwrwteda6kbpquppdz5i3lg4a0nvmbf.lambda-url.us-east-1.on.aws이 명령을 실행하면 Sent!가 출력되고 이메일을 받을 수 있습니다. 이 경우 발신자와 수신자 이메일 주소가 동일하므로 스팸 폴더를 확인해야 할 수도 있습니다.

5. 앱 배포하기
이제 앱을 배포해 보겠습니다.
npx sst deploy --stage production여기서는 어떤 스테이지 이름을 사용해도 되지만, 프로덕션용으로 새로운 스테이지를 만드는 것이 좋습니다.
다음으로, 프로덕션 환경에서는 다음 작업을 수행할 수 있습니다:
- SES에 대해 프로덕션 액세스 요청하기
- 그리고 도메인 사용하기로 이메일 보내기
이렇게 하면 여러분의 도메인에서 어떤 이메일 주소로든 이메일을 보낼 수 있습니다.
콘솔 연결하기
다음 단계로 SST 콘솔을 설정하여 _git push로 앱을 배포_하고 문제를 모니터링할 수 있습니다.

무료 계정을 생성하고 AWS 계정에 연결할 수 있습니다.