Я пытаюсь отправить электронную почту, используя ssl smtp из сетки отправки, мой текущий код:
import (
"crypto/tls"
"fmt"
"net"
"net/smtp"
"time"
"github.com/toorop/go-dkim"
"golang.org/x/net/proxy"
)
// SmtpSendOne - send email using smtp & proxy
func SmtpSendOne(server SmtpServer, data *MailData) error {
var remote net.Conn
var err error
// TLS config
tlsconfig := &tls.Config{
InsecureSkipVerify: true,
ServerName: "example.com",
}
remote, err = net.DialTimeout("tcp", "smtp.sendgrid.net:456", 10*time.Second)
defer remote.Close()
if remote == nil {
return fmt.Errorf("Proxy not working")
}
if err != nil {
return fmt.Errorf("Failed to connect to SMTP server: %s", err)
}
client, err := smtp.NewClient(remote, server.Host)
if err != nil {
return err
}
defer client.Close()
client.StartTLS(tlsconfig)
auth := SmtpLoginAuth("apikey", "apikey")
authErr := client.Auth(auth)
if authErr != nil {
return authErr
}
if err = client.Mail(data.From()); err != nil {
return fmt.Errorf("MAIL failed : %s", err)
}
if err = client.Rcpt(data.To()); err != nil {
return fmt.Errorf("RCPT failed %s", err)
}
bodyWriter, err := client.Data()
if err != nil {
return err
}
bodyWriter.Close()
client.Quit()
return nil
}
Проблема заключается в том, что когда я запускаю код, электронная почта не отправляется, и соединение никогда не умирает, не возвращаетсялюбая ошибкаЭто же можно понять, где я ошибся?Что мне не хватает?без ssl smtp работает без проблем.