이용가이드 › 가이드

메일 보내기 (이메일 리소스)

가입 환영 · 비밀번호 재설정 같은 메일을 내 서비스에서 보낼 때 써요. 메일 발송 계정(AWS SES 등)의 키는 리소스가 갖고, 내 서비스는 리소스 토큰만 들고 있어요.

1. 이메일 리소스 만들기

  1. 프로젝트 › Notification › 리소스 추가 를 눌러요
  2. 제공자로 이메일 (AWS SES) 를 고르고(자체 메일 서버면 이메일 (SMTP)) 이름을 넣은 뒤 만들기 를 눌러요
  3. 리소스 상세 › 설정 · 자격증명 에 값을 넣고 설정 저장 을 눌러요
제공자 넣는 값
이메일 (AWS SES) 리전 · Access Key ID · Secret Access Key · 발신 이메일
이메일 (SMTP) SMTP 호스트 · 포트 · 사용자명 · 비밀번호 · 발신 이메일

발신 주소의 도메인은 그 메일 서비스(SES 등) 쪽에서 먼저 인증돼 있어야 실제로 나가요.

2. 리소스 토큰 받기

이 리소스로 토큰을 발급해요 → 내 서비스에서 리소스 쓰기

3. 코드에서 보내기 (SES)

const zc = createZeroCloudClient({
  baseUrl: 'https://api.zerocloud.im',
  email: {
    baseUrl: '<개발자 센터의 알림 API 주소>',
    resourceId: process.env.EMAIL_RESOURCE_ID!,
    resourceToken: process.env.EMAIL_RESOURCE_TOKEN!,
  },
});

await zc.email.send({
  from: 'no-reply@example.com',
  to: 'user@example.com',
  subject: '가입을 환영합니다',
  html: '<p>…</p>',
  text: '…', // 선택
  replyTo: 'help@example.com', // 선택
});

응답은 접수됐다는 뜻이에요. 실제 발송은 서버가 이어서 해요.

발신 주소 허용 목록

리소스에 발신 주소 허용 목록이 있으면 그 안의 주소로만 보낼 수 있어요. 목록이 비어 있으면 전부 허용이지만, 채워 두는 걸 권해요.

  • 목록에 없는 주소로 보내면 403 이에요
  • 비교는 글자 그대로예요. ZeroCloud <no-reply@example.com> 처럼 표시 이름을 붙여 보내면 목록에도 그 전체 문자열이 있어야 해요
  • 허용 목록은 MCP 의 update_resource_secrets 로 바꿔요 (MCP 연결하기)

끝났는지 확인

내 주소로 한 통 보내 보세요. 받은편지함(또는 스팸함)에 오면 끝이에요. 안 오면 발송 서비스(SES 등) 콘솔에서 발신 도메인 인증과 발송 한도를 확인하세요.

막히면 → 자주 막히는 곳

해결되지 않았나요? 문의하기