OpenEmail로 이 앱에 트랜잭션 이메일 기능을 추가해 줘. 1. npm install @openemail/sdk로 TypeScript SDK를 설치해 줘. 2. API 키는 서버에서만 OPENEMAIL_API_KEY 환경 변수에서 읽어 줘. 절대 브라우저로 보내지 말고, 커밋하지도 말아 줘. 3. init를 한 번 호출한 다음 openemail.emails.send로 보내는 sendEmail 헬퍼를 작성해 줘. 발신 주소는 OpenEmail에서 확인된 도메인의 주소를 써 줘. 4. 발송 코드는 app/api/send/route.ts의 Next.js 라우트 핸들러에 넣어 줘. 5. welcome:<userId>처럼 이벤트로 만든 idempotencyKey를 넘겨서, 재시도해도 두 번 발송되지 않게 해 줘. 6. 누군가 가입하면 환영 이메일을 보내고, 돌아온 id를 로그로 남겨 줘. SDK 레퍼런스: https://openemail.uk/docs/sdk
발신자와 트리거는 앱에 맞게 바꾸세요. 나머지는 OpenEmail이 기대하는 호출 방식입니다.
세 단계면
발송이 시작됩니다.
- 01
키 발급
설정에서 발송 권한이 있는 키를 만드세요. 시크릿은 한 번만 표시됩니다.
- 02
비밀로 보관
OPENEMAIL_API_KEY는 코드가 아니라 v0의 시크릿에 추가하세요.
- 03
프롬프트 붙여넣기
v0에서 SDK를 설치하고 발송 코드를 작성합니다. 변경 내용을 읽어 본 뒤 실행하세요.
이렇게 작성합니다.
라우트 하나, 호출 하나.
일반적인 결과입니다. v0에서는 파일 이름이 다를 수 있습니다.
app/api/send/route.ts
import { init, openemail } from '@openemail/sdk'init({ apiKey: process.env.OPENEMAIL_API_KEY })export async function POST(request: Request) {const { email, name, userId } = await request.json()const sent = await openemail.emails.send({from: 'Acme <[email protected]>',to: email,subject: `Welcome, ${name}`,html: `<p>Thanks for signing up, ${name}.</p>`,}, {idempotencyKey: `welcome:${userId}`,})return Response.json({ id: sent.id })}
다른 도구도
같은 프롬프트, 같은 메일함.
키를 발급하세요.
무언가 보내세요.
무료 요금제를 포함한 모든 요금제에서 API, MCP, SDK를 모두 이용할 수 있습니다.