РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1085 of 1593 menu

Функция net.LookupMX

Функция net.LookupMX выполняет DNS-запрос для получения MX-записей (Mail Exchange) указанного домена. В первый параметр функция принимает строку с доменным именем. Она возвращает срез структур *net.MX и ошибку. Каждая структура содержит поле Host с адресом почтового сервера и поле Pref с числовым приоритетом записи. Чем меньше значение приоритета, тем выше приоритет сервера.

Синтаксис

mxs, err := net.LookupMX(domain)

Пример

Давайте получим MX-записи для домена "example.com":

package main import ( "fmt" "net" ) func main() { mxs, err := net.LookupMX("example.com") if err != nil { fmt.Println("Error:", err) return } for _, mx := range mxs { fmt.Printf("Host: %s, Pref: %d\n", mx.Host, mx.Pref) } }

Результат выполнения кода:

"Host: mx.example.com., Pref: 10"

Пример

Давайте обработаем ситуацию, когда домен не имеет MX-записей:

package main import ( "fmt" "net" ) func main() { mxs, err := net.LookupMX("domain-without-mx.com") if err != nil { fmt.Println("Error:", err) return } fmt.Println("MX records found:", len(mxs)) for _, mx := range mxs { fmt.Printf("Host: %s, Pref: %d\n", mx.Host, mx.Pref) } }

Результат выполнения кода:

"Error: lookup domain-without-mx.com: no such host"

Пример

Давайте отсортируем MX-записи по приоритету и выведем их в порядке предпочтения:

package main import ( "fmt" "net" "sort" ) func main() { mxs, err := net.LookupMX("gmail.com") if err != nil { fmt.Println("Error:", err) return } sort.Slice(mxs, func(i, j int) bool { return mxs[i].Pref < mxs[j].Pref }) for _, mx := range mxs { fmt.Printf("Host: %s, Pref: %d\n", mx.Host, mx.Pref) } }

Результат выполнения кода:

"Host: gmail-smtp-in.l.google.com., Pref: 5" "Host: alt1.gmail-smtp-in.l.google.com., Pref: 10" "Host: alt2.gmail-smtp-in.l.google.com., Pref: 20" "Host: alt3.gmail-smtp-in.l.google.com., Pref: 30" "Host: alt4.gmail-smtp-in.l.google.com., Pref: 40"

Смотрите также

  • функцию net.LookupHost,
    которая возвращает IP-адреса для указанного домена
  • функцию net.LookupIP,
    которая возвращает IP-адреса с возможностью фильтрации по версии протокола
  • функцию net.LookupNS,
    которая возвращает NS-записи для указанного домена
  • функцию net.LookupTXT,
    которая возвращает TXT-записи для указанного домена
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить