Thoir an tunail CONNECT do chliant SMTP Go
Cleachd smtp.NewClient le tunail a chaidh a stèidheachadh mu thràth agus cùm ainm aoigheachd SMTP agus crathadh-làimhe STARTTLS air leth bho rèiteachadh a' phroxy.
smtp.Dial fosglaichidh e ceangal ùr chun na seòladh aige. Às dèidh dhut ceangal fhaighinn tro phroxy HTTP CONNECT, thoir an t-sruth a th' ann mu thràth gu smtp.NewClient na àite.
Airson frithealaiche SMTP a dh'fheumas STARTTLS air a' phort tagraidh aige, faodaidh an tar-ghlacadh a bhith mar seo:
func smtpOverTunnel(conn net.Conn, mailHost string) (*smtp.Client, error) {
client, err := smtp.NewClient(conn, mailHost)
if err != nil {
conn.Close()
return nil, err
}
err = client.StartTLS(&tls.Config{
ServerName: mailHost,
MinVersion: tls.VersionTLS12,
})
if err != nil {
client.Close()
return nil, err
}
return client, nil
}Is iad na pacaidean net, net/smtp agus crypto/tls. Bheir an neach-fios tunail a tha ceangailte mu thràth ris an aoigheachd agus am port SMTP a thathar an dùil, leis iomlaid CONNECT a' phroxy deiseil. Chan eil fosgladh TCP don phroxy a-mhàin a' dol fada gu leòr: chan e fàilte SMTP a th' ann am freagairt HTTP.
Is e mailHost ainm aoigheachd an fhrithealaiche SMTP, gun phort. Cùm an dearbh-aithne sin airson dearbhadh SMTP agus dearbhadh teisteis. Bheir ceangal TLS ri proxy HTTPS dìon air cas eile den t-slighe.
Tha an cliant a thill deiseil airson dearbhadh SMTP agus gnothach puist a' bharr-rèite a th' ann mu thràth. Dùin e nuair a bhios tu deiseil. Cuir crìoch air fònadh, CONNECT agus obrachaidhean pròtacail às dèidh sin le poileasaidh ceann-latha a' bharr-rèite.
Feumaidh am proxy CONNECT a cheadachadh chun a' phuirt phuist a thagh thu. Cuingealaichidh cuid e ri cinn-siubhail HTTPS air port 443. Airson SMTP le TLS fo-thuigsinn, stèidhich seisean TLS a' chinn-siubhail mus cuir thu fios air NewClient an àite STARTTLS a sgaoileadh.