2
2
mirror of https://github.com/mastodon/mastodon synced 2025-04-12 00:56:38 +02:00
mastodon/app/lib/domain_resource.rb

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