在 Golang 中,可以使用正则表达式和标准库的 net 包来检查邮箱域名。以下是一个示例代码:
package main
import (
"fmt"
"net"
"regexp"
)
func main() {
email := "example@example.com"
// 正则表达式匹配邮箱域名部分
re := regexp.MustCompile(`@(.+)`)
matches := re.FindStringSubmatch(email)
if len(matches) < 2 {
fmt.Println("无法提取邮箱域名")
return
}
domain := matches[1]
// 检查邮箱域名是否有效
mxRecords, err := net.LookupMX(domain)
if err != nil || len(mxRecords) == 0 {
fmt.Println("无效的邮箱域名")
return
}
fmt.Println("有效的邮箱域名")
}
该代码首先使用正则表达式提取出邮箱地址中的域名部分,然后通过 net.LookupMX() 函数查询 MX 记录,判断该域名是否有效。如果查询成功且返回了至少一个 MX 记录,则说明该邮箱域名是有效的。
内容由零声教学AI助手提供,问题来源于学员提问




