대상 사용자
인간 검토나 권한 있는 테스트를 대체하지 않고 제한된 패시브 검사를 사용해 분류 및 조사를 보강하세요.
제품, 결과, 엔드포인트 경로 또는 API 주제를 검색해 보세요.
SPF, DKIM 및 DMARC를 포함한 이메일 인증 레코드를 분석합니다.
인간 검토나 권한 있는 테스트를 대체하지 않고 제한된 패시브 검사를 사용해 분류 및 조사를 보강하세요.
공개 이메일 제어와 게시된 규정 준수 신호를 정책 중심으로 검토할 때 선택하세요.
SPF, DKIM 및 DMARC를 포함한 이메일 인증 레코드를 분석합니다.
통합하기 전에 지원되는 작업, 입력, 출력, 실행 모드 및 응답 제한을 확인하세요.
6 인증 필요. 정확한 비용과 항목별 요금은 작업 레퍼런스에서 확인하세요.
문서화된 작업을 사용해 공개 증거를 수집, 평가, 보강, 검증, 비교, 보호 또는 모니터링하세요.
| 매개변수 | 유형 | 필수 |
|---|---|---|
| domain | string | 필수 |
| selectors | string | 선택 사항 |
| providers | string | 선택 사항 |
| 필드 | 유형 |
|---|---|
domain |
string |
status |
string |
score |
integer |
grade |
string |
checks_unknown |
integer |
score_confidence |
string |
provider_readiness |
object |
provider_readiness.google |
object |
provider_readiness.google.provider |
string |
provider_readiness.google.display_name |
string |
provider_readiness.google.status |
string |
provider_readiness.google.dns_visible_status |
string |
provider_readiness.google.requirements[] |
object[] |
provider_readiness.google.requirements[] |
object |
provider_readiness.google.requirements[].id |
string |
provider_readiness.google.requirements[].label |
string |
provider_readiness.google.requirements[].status |
string |
provider_readiness.google.requirements[].severity |
string |
provider_readiness.google.requirements[].category |
string |
provider_readiness.google.requirements[].evidence |
string |
provider_readiness.google.requirements[].recommendation |
string |
provider_readiness.google.verification_required[] |
string[] |
provider_readiness.google.notes[] |
string[] |
provider_readiness.microsoft |
object |
provider_readiness.microsoft.provider |
string |
provider_readiness.microsoft.display_name |
string |
provider_readiness.microsoft.status |
string |
provider_readiness.microsoft.dns_visible_status |
string |
provider_readiness.microsoft.requirements[] |
object[] |
provider_readiness.microsoft.requirements[] |
object |
provider_readiness.microsoft.requirements[].id |
string |
provider_readiness.microsoft.requirements[].label |
string |
provider_readiness.microsoft.requirements[].status |
string |
provider_readiness.microsoft.requirements[].severity |
string |
provider_readiness.microsoft.requirements[].category |
string |
provider_readiness.microsoft.requirements[].evidence |
string |
provider_readiness.microsoft.requirements[].recommendation |
string |
provider_readiness.microsoft.verification_required[] |
string[] |
provider_readiness.microsoft.notes[] |
string[] |
summary |
object |
summary.authentication |
object |
summary.transport |
object |
summary.dns_security |
object |
summary.brand_trust |
object |
action_items[] |
object[] |
action_items[] |
object |
action_items[].priority |
string |
action_items[].category |
string |
action_items[].title |
string |
action_items[].detail |
string |
action_items[].fix |
string |
evidence |
object |
evidence.email_auth |
object |
evidence.dns_security |
object |
proxy |
object |
proxy.configured |
boolean |
proxy.enriched |
boolean |
proxy.checks[] |
string[] |
limitations[] |
string[] |
checked_at |
string |
check_duration_ms |
integer |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft"const response = await fetch("https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"domain": "example.com",
"status": "warn",
"score": 82,
"grade": "B",
"provider_readiness": {
"google": {
"provider": "google",
"display_name": "Google/Gmail bulk sender readiness",
"status": "pass",
"dns_visible_status": "pass",
"requirements": [
{
"id": "google_spf",
"label": "SPF must be configured for bulk senders",
"status": "pass",
"severity": "critical",
"category": "dns",
"evidence": "SPF policy: softfail",
"recommendation": "Publish one valid SPF record that covers every approved sending platform."
},
{
"id": "google_alignment",
"label": "From domain must align with either SPF or DKIM on live messages",
"status": "unknown",
"severity": "high",
"category": "message",
"evidence": "Alignment requires Authentication-Results from a real sent message",
"recommendation": "Send a test message and verify SPF or DKIM alignment."
}
],
"verification_required": [
"From domain must align with either SPF or DKIM on live messages",
"Outbound mail must be transmitted over TLS"
],
"notes": [
"Status is based on DNS-visible controls. Live sending requirements still need message-header and sender-platform verification."
]
},
"microsoft": {
"provider": "microsoft",
"display_name": "Microsoft Outlook.com high-volume sender readiness",
"status": "pass",
"dns_visible_status": "pass",
"requirements": [],
"verification_required": [
"DMARC must align with either SPF or DKIM"
],
"notes": [
"Status is based on DNS-visible controls. Live sending requirements still need message-header and sender-platform verification."
]
}
},
"summary": {
"authentication": {
"spf": {
"status": "pass",
"record": "v=spf1 include:_spf.example.com ~all",
"policy": "softfail",
"lookup_count": 3,
"lookup_limit_exceeded": false
},
"dkim": {
"status": "pass",
"selectors_checked": [
"google",
"selector1",
"sendgrid"
],
"selectors_found": [
"google"
],
"valid_selector_count": 1,
"weak_selector_count": 0,
"revoked_selector_count": 0,
"providers_detected": [
"Google Workspace"
]
},
"dmarc": {
"status": "warn",
"record": "v=DMARC1; p=none; rua=mailto:[email protected]",
"policy": "none",
"subdomain_policy": null,
"percentage": 100,
"rua": [
"mailto:[email protected]"
],
"alignment_mode": {
"spf": null,
"dkim": null
}
}
},
"transport": {
"mta_sts": {
"status": "pass",
"mode": "enforce",
"policy_fetch_ok": true,
"policy_matches_mx": true
},
"tls_rpt": {
"status": "pass",
"rua": [
"mailto:[email protected]"
]
},
"mx_records": [
"aspmx.l.google.com"
],
"client_access_secure_services": 1
},
"dns_security": {
"dnssec": "pass",
"caa": "pass",
"zone_transfer": "pass",
"authoritative_consistency": "pass",
"blacklist": "pass"
},
"brand_trust": {
"bimi": "unknown",
"vmc": "unknown"
}
},
"action_items": [
{
"priority": "medium",
"category": "authentication",
"title": "Move DMARC beyond monitoring mode",
"detail": "DMARC is valid but still uses p=none.",
"fix": "After reviewing aggregate reports, move to p=quarantine or p=reject."
}
],
"evidence": {
"email_auth": {
"spf": {
"record": "v=spf1 include:_spf.example.com ~all"
},
"dmarc": {
"record": "v=DMARC1; p=none; rua=mailto:[email protected]"
}
},
"dns_security": {
"security_score": 86,
"security_grade": "B"
}
},
"proxy": {
"configured": true,
"enriched": true,
"checks": [
"spf_walk",
"mail_policies",
"dkim_audit",
"bimi_audit"
]
},
"limitations": [
"DNS-visible checks cannot prove live message-level SPF, DKIM, DMARC alignment, RFC 5322 formatting, spam rate, or one-click unsubscribe behavior."
],
"checked_at": "2026-04-26T12:00:00Z",
"check_duration_ms": 642
}
200 성공400 잘못된 요청401 인증되지 않음402 결제 필요429 요청 과다이메일 컴플라이언스 API 레퍼런스에서 매개변수, 응답 필드, 예시, 상태 코드 및 지원되는 작업 모드를 확인하세요.
알 수 없거나 부분적인 결과는 요청된 증거를 완전히 판단할 수 없었다는 뜻입니다. 후속 의사결정에서 결과 상태, 신뢰도, 최신성 및 제한을 유지하세요.
요금은 작업과 실행 모드에 따라 달라집니다. 현재 크레딧 비용, 인증 요구 사항 및 항목별 규칙은 엔드포인트 레퍼런스에서 확인하세요.
다음 회사의 사람들이 사용합니다