Domains
Custom domains allow you to send and receive email from your own domain.
Create a Domain
suspend fun createDomainExample() {
val client = AgentMailClient()
val domain = client.createDomain {
name = "example.com"
}
println("Domain ID: ${domain.domainId}")
println("Verified: ${domain.verified}")
client.close()
}
List Domains
suspend fun listDomainsExample() {
val client = AgentMailClient()
val result = client.listDomains {
limit = 10
}
for (domain in result.domains) {
println("${domain.name}: verified=${domain.verified}")
}
client.close()
}
Get a Domain
suspend fun getDomainExample() {
val client = AgentMailClient()
val domain = client.getDomain("domain-id")
println("Name: ${domain.name}")
println("Verified: ${domain.verified}")
client.close()
}
Update a Domain
suspend fun updateDomainExample() {
val client = AgentMailClient()
val updated = client.updateDomain("domain-id") {
name = "newname.com"
}
println("Updated: ${updated.name}")
client.close()
}
Verify a Domain
After creating a domain, you need to add DNS records and verify ownership:
suspend fun verifyDomainExample() {
val client = AgentMailClient()
client.verifyDomain("domain-id")
println("Verification request sent")
client.close()
}
Get Zone File
Retrieve the DNS zone file for a domain:
suspend fun zoneFileExample() {
val client = AgentMailClient()
val zoneFile = client.getDomainZoneFile("domain-id")
println(zoneFile)
client.close()
}
Delete a Domain
suspend fun deleteDomainExample() {
val client = AgentMailClient()
client.deleteDomain("domain-id")
println("Domain deleted")
client.close()
}
Next Steps
- Lists — manage mailing lists and subscribers
- Scoped Access — work with resources within an inbox or pod
- Metrics & Organization — view usage metrics and organization details