fix: add nil checks for transport.DialContext (#9702)

This commit is contained in:
2025-07-28 17:02:46 +08:00 committed by GitHub
parent 80ce60c56c
commit 28d8210ce6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -132,7 +132,7 @@ func isValidHeader(key, value string) bool {
func sendWithSSL(config SMTPConfig, addr string, toList []string, msg string, transport *http.Transport) error {
var err error
var conn net.Conn
if transport != nil {
if transport != nil && transport.DialContext != nil {
conn, err = transport.DialContext(context.Background(), "tcp", addr)
} else {
conn, err = net.Dial("tcp", addr)
@ -163,7 +163,7 @@ func sendWithSSL(config SMTPConfig, addr string, toList []string, msg string, tr
func sendWithStartTLS(config SMTPConfig, addr string, toList []string, msg string, transport *http.Transport) error {
var err error
var conn net.Conn
if transport != nil {
if transport != nil && transport.DialContext != nil {
conn, err = transport.DialContext(context.Background(), "tcp", addr)
} else {
conn, err = net.Dial("tcp", addr)
@ -192,7 +192,7 @@ func sendWithStartTLS(config SMTPConfig, addr string, toList []string, msg strin
func sendPlaintext(config SMTPConfig, addr string, toList []string, msg string, transport *http.Transport) error {
var err error
var conn net.Conn
if transport != nil {
if transport != nil && transport.DialContext != nil {
conn, err = transport.DialContext(context.Background(), "tcp", addr)
} else {
conn, err = net.Dial("tcp", addr)