go-gomail / gomail

The best way to send emails in Go.
MIT License
4.32k stars 572 forks source link

Support socks proxy? #61

Closed DeadNumbers closed 5 years ago

DeadNumbers commented 8 years ago

Hi! My proxy server as 10.0.2.251 (squid). Users as 10.0.0.* If user send without proxy, connect failed. How i can use gomail with proxy? Sorry for my bad english.

yonnic commented 4 years ago

i also saw no way to use a proxy. Any transport hook ?

pedromorgan commented 4 years ago

see #104 and #108

DeadNumbers commented 4 years ago

@yonnic

        mail.NetDialTimeout = func(network string, address string, timeout time.Duration) (net.Conn, error) {
            dial, err := proxy.SOCKS5("tcp", socks, nil, proxy.Direct)
            if err != nil {
                return nil, err
            }
            return dial.Dial("tcp", smtp_host.(string))
        }
        err = dial.DialAndSend(msg)