通过 http CONNECT 代理发送带有 net/smtp 的邮件
Sending a mail with net/smtp through http CONNECT proxy
我的 Go 程序使用 net/smtp
库发送邮件。
client, err := smtp.Dial(addr)
当连接到 SMTP 服务器时,我想通过基于 HTTP CONNECT 的代理。
要通过 CONNECT 代理发送 SMTP 流量,您需要使用 smtp.NewClient(conn net.Conn, host string)
和现有连接 (net.Conn
) 到您的 CONNECT 代理。
magisterquis/connectproxy
包很可能是创建此连接所需的:
d, err := connectproxy.New("https://proxyserver:4433", proxy.Direct)
if nil != err{
panic(err)
}
c, err := d.Dial("tcp", "upstream.mail.server:25")
if nil != err {
panic(err)
}
smtpClient, err := smtp.NewClient(c, "upstream.mail.server")
if nil != err {
panic(err)
}
我的 Go 程序使用 net/smtp
库发送邮件。
client, err := smtp.Dial(addr)
当连接到 SMTP 服务器时,我想通过基于 HTTP CONNECT 的代理。
要通过 CONNECT 代理发送 SMTP 流量,您需要使用 smtp.NewClient(conn net.Conn, host string)
和现有连接 (net.Conn
) 到您的 CONNECT 代理。
magisterquis/connectproxy
包很可能是创建此连接所需的:
d, err := connectproxy.New("https://proxyserver:4433", proxy.Direct)
if nil != err{
panic(err)
}
c, err := d.Dial("tcp", "upstream.mail.server:25")
if nil != err {
panic(err)
}
smtpClient, err := smtp.NewClient(c, "upstream.mail.server")
if nil != err {
panic(err)
}