mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-13 06:01:38 +00:00
23 lines
392 B
Ruby
23 lines
392 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class DomainResource
|
||
|
attr_reader :domain
|
||
|
|
||
|
RESOLVE_TIMEOUT = 5
|
||
|
|
||
|
def initialize(domain)
|
||
|
@domain = domain
|
||
|
end
|
||
|
|
||
|
def mx
|
||
|
Resolv::DNS.open do |dns|
|
||
|
dns.timeouts = RESOLVE_TIMEOUT
|
||
|
dns
|
||
|
.getresources(domain, Resolv::DNS::Resource::IN::MX)
|
||
|
.to_a
|
||
|
.map { |mx| mx.exchange.to_s }
|
||
|
.compact_blank
|
||
|
end
|
||
|
end
|
||
|
end
|