I'm try connect to smtp server via socks5 proxy
package main
import (
"net"
"net/smtp"
"golang.org/x/net/proxy"
)
func main() { Connect() }
func Connect() {
dialer, err := Socks("127.0.0.1:9050", "smtp.gmail.com:465")
if err != nil {
panic(err)
}
client, err := smtp.NewClient(dialer, "smtp.gmail.com:465")
if err != nil {
panic(err)
}
auth := smtp.PlainAuth("", "mymailaddr@gmail.com", "", "smtp.gmail.com:465")
if err = client.Auth(auth); err != nil {
panic(err)
}
}
func Socks(socks, addr string) (r net.Conn, err error) {
Dial, err := proxy.SOCKS5("tcp", socks, nil, proxy.Direct)
r, err = Dial.Dial("tcp", addr)
return
}
And can't it, have error
panic: EOF
goroutine 1 [running]:
main.Connect()
main.go:18 +0x1e5
main.main()
main.go:10 +0x20
exit status 2
Does smtp.Client
can any method to connect smtp server with socks proxy? I'm not found answer in Google and not found any library provide this features.