cloudflare-email-service은(는) 무엇을 하나요?
Cloudflare 이메일 서비스(이메일 전송 + 이메일 라우팅)를 통해 트랜잭션 이메일을 보내고 받습니다. 이메일 전송(Workers 바인딩 또는 REST API), 이메일 라우팅, Agents SDK 이메일 처리, 또는 모든 앱(Workers, Node.js, Python, Go 등)에 이메일을 통합할 때 사용하세요. 또한 이메일 전달성, SPF/DKIM/DMARC, wrangler 이메일 설정, MCP 이메일 도구, 또는 코딩 에이전트가 이메일을 보내야 할 때 사용하세요. '내 Worker에 이메일 추가'와 같은 간단한 요청에도 중요 구성 세부 정보가 포함되어 있습니다.
주요 기능
- Cloudflare Email Sending: Workers 바인딩 또는 REST API를 통해 이메일 전송
- Workers 바인딩:
sendEmail()함수 사용 - REST API:
POST https://api.cloudflare.com/client/v4/accounts/{account_id}/email/send
- Workers 바인딩:
- Cloudflare Email Routing: 수신 이메일 처리 및 Workers를 통한 커스텀 처리
- Catch-all 주소 설정
- 이메일 라우팅 규칙 구성
- 이메일 인증 설정:
- SPF 레코드
- DKIM 서명
- DMARC 정책
- wrangler CLI 지원:
wrangler email명령어로 로컬 개발 및 배포 - Agents SDK 통합: MCP 도구를 통한 에이전트 이메일 처리 지원
사용 방법
1. Cloudflare Workers 바인딩을 통한 이메일 전송
export default {
async email(message, env, ctx) {
// 이메일 수신 처리
console.log(`이메일 수신: ${message.from}`);
}
}
import { sendEmail } from 'cloudflare:email';
export default {
async fetch(request, env, ctx) {
const msg = new EmailMessage({
from: '[email protected]',
to: '[email protected]',
subject: '테스트 이메일',
text: '이것은 테스트 이메일입니다.'
});
await sendEmail(msg);
return new Response('이메일 전송 완료', { status: 200 });
}
}
2. REST API를 통한 이메일 전송
curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/email/send \
-H "Authorization: Bearer {api_token}" \
-H "Content-Type: application/json" \
-d '{
"from": {
"email": "[email protected]",
"name": "발신자 이름"
},
"to": [
{
"email": "[email protected]",
"name": "수신자 이름"
}
],
"subject": "테스트 이메일",
"text": "이것은 테스트 이메일입니다."
}'
3. wrangler 설정
wrangler.toml에 이메일 바인딩 추가:
[[email]]
name = "EMAIL"
send = ["[email protected]"]
receive = ["*@example.com"]
4. 이메일 라우팅 설정
Cloudflare 대시보드에서 이메일 라우팅 설정:
- Cloudflare 대시보드 → 이메일 → 라우팅
- Catch-all 주소를 Workers에 연결
- 필요한 경우 커스텀 라우팅 규칙 추가
이메일 전달성 설정
SPF 레코드
TXT @ "v=spf1 include:_spf.mx.cloudflare.com ~all"
DKIM 설정
Cloudflare 대시보드 → 이메일 → DKIM → 서명 키 생성
DMARC 정책
TXT _dmarc "v=DMARC1; p=none; rua=mailto:[email protected]"
지원 환경
- Cloudflare Workers
- Node.js
- Python
- Go
- 기타 HTTP 클라이언트 지원 언어
참고 사항
- Cloudflare Free 요금제에서는 일일 2,000개의 이메일 전송 가능
- Workers 바인딩이 REST API보다 빠른 처리 지원
- 이메일 라우팅은 수신 이메일만 처리 (전송 불가)
- SPF/DKIM/DMARC 설정은 도메인 소유자만 구성 가능
자세한 내용은 Cloudflare 이메일 문서를 참조하세요.