func answerMX(q *dns.Question, v *DNSValue) dns.RR { answer := new(dns.MX) answer.Header().Name = q.Name answer.Header().Rrtype = dns.TypeMX answer.Header().Class = dns.ClassINET answer.Preference = 50 // default if not defined priority, err := strconv.Atoi(v.Attr["priority"]) if err == nil { answer.Preference = uint16(priority) } if target, ok := v.Attr["target"]; ok { answer.Mx = strings.TrimSuffix(target, ".") + "." } else if v.Value != "" { // allows for simplified setting answer.Mx = strings.TrimSuffix(v.Value, ".") + "." } return answer }