Class: Axene::Mailer::Resources::Domains
- Inherits:
-
Object
- Object
- Axene::Mailer::Resources::Domains
- Defined in:
- lib/axene/mailer/resources/domains.rb
Overview
The domains resource: register, verify, inspect, and transfer sending domains. Accessed as client.domains.
Instance Method Summary collapse
-
#check(name) ⇒ Hash
Check whether a domain name already exists in your account.
-
#check_availability(name) ⇒ Hash
Check whether a domain name is available to add (checks public DNS).
-
#create(name) ⇒ Hash
Register a new sending domain.
-
#delete(id) ⇒ nil
Delete a domain.
-
#diagnose(id) ⇒ Hash
Diagnose configuration issues and get a health score.
-
#get(id) ⇒ Hash
Fetch a domain with its DKIM selector and DNS records.
-
#health(id) ⇒ Hash
Run live DNS health checks (DKIM, SPF, DMARC, return-path, MX).
-
#initialize(transport) ⇒ Domains
constructor
A new instance of Domains.
-
#list ⇒ Array<Hash>
List your sending domains and their verification status.
-
#mx_status(id) ⇒ Hash
Current MX status for inbound/forwarding (shape varies by provider).
-
#published_records(id) ⇒ Hash
The values currently published in DNS for each of the domain’s records.
-
#rotate_dkim(id) ⇒ Hash
Rotate the domain’s DKIM key, returning the new record to publish.
-
#transfer(id, target_email:, note: nil) ⇒ Hash
Initiate a transfer of this domain to another Axene account.
-
#verify(id) ⇒ Hash
Re-check DNS and verify the domain.
Constructor Details
#initialize(transport) ⇒ Domains
Returns a new instance of Domains.
10 11 12 |
# File 'lib/axene/mailer/resources/domains.rb', line 10 def initialize(transport) @transport = transport end |
Instance Method Details
#check(name) ⇒ Hash
Check whether a domain name already exists in your account.
116 117 118 |
# File 'lib/axene/mailer/resources/domains.rb', line 116 def check(name) @transport.request(:get, "/v1/domains/check/#{Util.escape(name)}") end |
#check_availability(name) ⇒ Hash
Check whether a domain name is available to add (checks public DNS).
108 109 110 |
# File 'lib/axene/mailer/resources/domains.rb', line 108 def check_availability(name) @transport.request(:get, "/v1/domains/check-availability", query: { name: name }) end |
#create(name) ⇒ Hash
Register a new sending domain. Returns the DNS records to publish.
25 26 27 |
# File 'lib/axene/mailer/resources/domains.rb', line 25 def create(name) @transport.request(:post, "/v1/domains/", body: { name: name }) end |
#delete(id) ⇒ nil
Delete a domain.
41 42 43 |
# File 'lib/axene/mailer/resources/domains.rb', line 41 def delete(id) @transport.request(:delete, "/v1/domains/#{Util.escape(id)}") end |
#diagnose(id) ⇒ Hash
Diagnose configuration issues and get a health score.
65 66 67 |
# File 'lib/axene/mailer/resources/domains.rb', line 65 def diagnose(id) @transport.request(:get, "/v1/domains/#{Util.escape(id)}/diagnose") end |
#get(id) ⇒ Hash
Fetch a domain with its DKIM selector and DNS records.
33 34 35 |
# File 'lib/axene/mailer/resources/domains.rb', line 33 def get(id) @transport.request(:get, "/v1/domains/#{Util.escape(id)}") end |
#health(id) ⇒ Hash
Run live DNS health checks (DKIM, SPF, DMARC, return-path, MX).
57 58 59 |
# File 'lib/axene/mailer/resources/domains.rb', line 57 def health(id) @transport.request(:get, "/v1/domains/#{Util.escape(id)}/health") end |
#list ⇒ Array<Hash>
List your sending domains and their verification status.
17 18 19 |
# File 'lib/axene/mailer/resources/domains.rb', line 17 def list @transport.request(:get, "/v1/domains/") end |
#mx_status(id) ⇒ Hash
Current MX status for inbound/forwarding (shape varies by provider).
73 74 75 |
# File 'lib/axene/mailer/resources/domains.rb', line 73 def mx_status(id) @transport.request(:get, "/v1/domains/#{Util.escape(id)}/mx-status") end |
#published_records(id) ⇒ Hash
The values currently published in DNS for each of the domain’s records.
81 82 83 |
# File 'lib/axene/mailer/resources/domains.rb', line 81 def published_records(id) @transport.request(:get, "/v1/domains/#{Util.escape(id)}/published-records") end |
#rotate_dkim(id) ⇒ Hash
Rotate the domain’s DKIM key, returning the new record to publish.
89 90 91 |
# File 'lib/axene/mailer/resources/domains.rb', line 89 def rotate_dkim(id) @transport.request(:post, "/v1/domains/#{Util.escape(id)}/rotate-dkim") end |
#transfer(id, target_email:, note: nil) ⇒ Hash
Initiate a transfer of this domain to another Axene account.
99 100 101 102 |
# File 'lib/axene/mailer/resources/domains.rb', line 99 def transfer(id, target_email:, note: nil) @transport.request(:post, "/v1/domains/#{Util.escape(id)}/transfer", body: { target_email: target_email, note: note }) end |