커스텀 도메인

자체 브랜드로 이메일을 보내고 수신 준비 상태를 별도로 추적하세요. 기본 @agentsend.io 대신 agent@yourdomain.com과 같은 주소로 수신함을 만들려면 도메인을 추가하세요.

개요

기본적으로 생성하는 모든 수신함은 공유 @agentsend.io 도메인에서 무작위로 생성된 주소를 받습니다. 시작하기에 좋지만, 에이전트가 자체 브랜드로 이메일을 보내려면 커스텀 도메인을 추가할 수 있습니다.

도메인이 확인되면 해당 도메인에 수신함을 만들고 support@yourdomain.com이나 assistant@yourdomain.com과 같은 주소에서 온 것처럼 보이는 이메일을 보낼 수 있습니다. 수신자는 From 헤더에서 도메인을 봅니다. 수신 답장은 도메인이 사용하는 MX 라우팅을 따르므로, 수신 메일을 AgentSend로 전달하려는 경우에만 MX를 AgentSend로 지정하세요.

커스텀 도메인은 도메인 등록 기관(Cloudflare, Route 53, Namecheap 등)에 DNS 레코드를 추가해야 합니다. 검증 프로세스는 전송을 허용하기 전에 해당 레코드가 전파되었는지 확인합니다.

도메인 추가

/domainsPOST 요청을 보내 AgentSend에 도메인을 등록합니다. 응답에는 추가해야 할 DNS 레코드가 포함됩니다.

javascript
const res = await fetch("https://api.agentsend.io/domains", {
  method: "POST",
  headers: {
    "x-api-key": process.env.AGENTSEND_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    domain: "yourdomain.com",
  }),
});

const domain = await res.json();
console.log(domain.id);               // "dom_..."
console.log(domain.sendingStatus);   // "pending"
console.log(domain.receivingStatus); // "pending"
console.log(domain.dnsRecords);      // combined DNS records to add

응답 예시

json
{
  "id": "dom_01hx4r2kt9fzv8s3n",
  "domain": "yourdomain.com",
  "sendingStatus": "pending",
  "receivingStatus": "pending",
  "verificationStatus": "pending",
  "createdAt": "2025-04-16T10:00:00.000Z",
  "dnsRecords": [
    {
      "type": "TXT",
      "host": "_amazonses.yourdomain.com",
      "value": "verification-token"
    },
    {
      "type": "CNAME",
      "host": "dkim-a._domainkey.yourdomain.com",
      "value": "dkim-a.dkim.amazonses.com"
    },
    {
      "type": "MX",
      "host": "yourdomain.com",
      "value": "mx.agentsend.io",
      "priority": 10
    }
  ]
}

DNS 설정

도메인을 추가한 후 DNS 제공업체로 이동해 dnsRecords에 반환된 레코드를 추가하세요. TXT 및 CNAME 레코드는 발신자 신원과 DKIM 서명을 검증합니다. MX 레코드는 AgentSend가 도메인의 수신 메일을 받기를 원할 때만 필요합니다.

타입 호스트 용도
MX yourdomain.com mx.agentsend.io (priority 10) 도메인의 수신 이메일을 AgentSend 메일 서버로 라우팅하여 답장이 에이전트 수신함에 도착합니다.
TXT (verification) _amazonses.yourdomain.com SES 검증 토큰 Amazon SES에서 발신 도메인을 제어한다는 것을 확인합니다.
CNAME (DKIM) <token>._domainkey.yourdomain.com <token>.dkim.amazonses.com 발신 메시지를 암호화 서명하여 수신자가 해당 메시지가 도메인의 권한으로 AgentSend에 의해 전송되었음을 검증할 수 있게 합니다.
💡

DNS 변경은 일반적으로 몇 분 안에 전파되지만, 드물게 최대 48시간까지 걸릴 수 있습니다. 터미널에서 dig TXT agentsend._domainkey.yourdomain.com을 실행해 DKIM 레코드가 활성화되었는지 확인할 수 있습니다.

도메인에 이미 MX 레코드가 있으면 AgentSend의 MX 레코드를 추가하면 해당 도메인의 모든 수신 이메일이 AgentSend로 라우팅됩니다. 기존 메일 라우팅을 유지하려면 서브도메인(예: mail.yourdomain.com)을 사용하세요.

검증

DNS 레코드를 추가한 후 POST /domains/{id}/verify를 호출해 검증 확인을 트리거합니다. AgentSend는 발신자 검증을 새로 고치고 수신 메일을 위해 MX가 AgentSend를 가리키는지 별도로 확인합니다.

javascript
const res = await fetch(
  `https://api.agentsend.io/domains/${domain.id}/verify`,
  {
    method: "POST",
    headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
  }
);

const result = await res.json();
console.log(result.sendingStatus);   // "verified" | "pending_dkim" | "failed"
console.log(result.receivingStatus); // "verified" | "pending" | "failed"

상태 흐름

sendingStatusreceivingStatus는 별도로 추적됩니다. verificationStatussendingStatus의 하위 호환 별칭으로 유지됩니다.

상태 의미
pending 도메인이 등록되었지만 검증이 아직 시도되지 않았습니다. DNS 레코드가 확인되지 않았습니다.
pending_dkim 도메인 소유권이 검증되었지만 DKIM 레코드가 아직 표시되지 않습니다. 몇 분 기다린 후 재시도하세요.
verified 필요한 모든 DNS 레코드가 확인되었습니다. 도메인은 이메일 발송에 사용할 준비가 되었습니다. 수신은 여전히 도메인의 MX 레코드가 가리키는 곳에 따라 다릅니다.
failed 검증이 실패했습니다. 필요한 레코드를 하나 이상 찾을 수 없습니다. DNS 제공업체에 레코드가 올바르게 입력되었는지 확인한 후 재시도하세요.

/domains/{id}/verify는 필요한 만큼 여러 번 호출할 수 있습니다. 폴링해도 안전합니다 — 예를 들어 상태가 verified가 될 때까지 30초마다 호출할 수 있습니다.

도메인 속성

도메인 객체는 다음 필드를 갖습니다:

속성 타입 설명
id string 도메인의 고유 식별자. dom_ 접두사.
domain string 도메인 생성 시 제공된 도메인 이름 (예: yourdomain.com).
sendingStatus string 현재 발신자 검증 상태: pending, pending_dkim, verified, 또는 failed.
receivingStatus string MX 기반 현재 수신 라우팅 상태: pending, verified, 또는 failed.
verificationStatus string sendingStatus의 하위 호환 별칭.
dnsRecords array DNS 제공업체에 추가해야 할 DNS 레코드 객체 배열. 각 레코드는 type, host, value, 그리고 선택적으로 priority를 갖습니다.
createdAt string (ISO 8601) AgentSend에 도메인이 등록된 시각.

커스텀 도메인에서 수신함 만들기

도메인이 verified되면 수신함을 만들 때 iddomainId로 전달하세요. 수신함 주소는 @agentsend.io 대신 도메인을 사용합니다.

javascript
const res = await fetch("https://api.agentsend.io/inboxes", {
  method: "POST",
  headers: {
    "x-api-key": process.env.AGENTSEND_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    displayName: "Support Agent",
    username: "support",       // becomes support@yourdomain.com
    domainId: "dom_01hx4r2kt9fzv8s3n",
  }),
});

const inbox = await res.json();
console.log(inbox.address); // "support@yourdomain.com"
💡

username 필드는 이메일 주소의 로컬 부분을 설정합니다. 생략하면 AgentSend가 무작위 값을 생성합니다. 동일한 검증된 도메인에서 필요한 만큼 수신함을 만들 수 있습니다.

도메인 삭제

/domains/{id}DELETE 요청을 보내 도메인을 제거합니다.

javascript
await fetch(`https://api.agentsend.io/domains/${domain.id}`, {
  method: "DELETE",
  headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
});

도메인 삭제는 영구적입니다. 도메인과 연결된 모든 수신함은 이메일 주소를 잃고 더 이상 이메일을 송수신할 수 없습니다. 해당 수신함의 기존 메시지는 유지되지만 새 메일은 전송될 수 없습니다. 이 작업은 취소할 수 없습니다.