こんな感じで使える。
package main import ( "fmt" "net/mail" ) func main() { addr, err := mail.ParseAddress("izumisy.test@example.com") if err != nil { panic(err) } fmt.Println(addr.Address) // izumisy.test@example.com }
ひとつだけ気をつけないといけないところがあり、例えば <izumisy> izumisy.test@example.com (aaa)
のようなメールアドレスもこのメソッドではエラー無しで通ってしまう。
RFC上は正しいのでバグではない&実際にはパースされてアドレス部だけが取り出せるので大きな問題にはならないが。