Я пытаюсь создать отправителя электронной почты с поддержкой proxy / socks5, моя проблема в том, что когда я использую прокси в 70% случаев, перерыв в работе по причине тайм-аута, мой текущий код:
func SmtpSendOne(server SmtpServer, data *MailData) error {
var remote net.Conn
var err error
if server.ProxyAddr != "" {
dialer, err := proxy.SOCKS5("tcp", server.ProxyAddr, &server.ProxyAuth, proxy.Direct)
if err != nil {
log.Println("Could not connect to proxy: ", err)
return err
}
remote, err = dialer.Dial("tcp", server.Host+ ":" + server.Port)
if err != nil {
log.Println("Could not connect to server: ", err)
return err
}
}
я пыталсячтобы сначала использовать это решение для вызова этой функции:
SmtpSendOne(try, delegate, smtpSrv, true)
select {
case res := <-delegate:
success <-res
case <-time.After(smtpTimeout):
success <-false
}
Но этот код не решил мою проблему, мои программы погибли через 5 минут работы, пример журнала https://ghostbin.com/paste/e87x5, как настроить тайм-аут для socks5связь?в документации golang не найдено никакой документации :( спасибо всем