第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Golang SMTP 錯(cuò)誤: 535 5.7.0 登錄名或密碼無(wú)效

Golang SMTP 錯(cuò)誤: 535 5.7.0 登錄名或密碼無(wú)效

Go
藍(lán)山帝景 2022-09-05 10:22:42
我正在嘗試使用go創(chuàng)建電子郵件服務(wù)。當(dāng)我嘗試通過(guò)gmail或office365代碼發(fā)送電子郵件時(shí),工作正常,但當(dāng)我嘗試通過(guò)自定義smtp發(fā)送電子郵件時(shí),我得到“535 5.7.0無(wú)效的登錄名或密碼”錯(cuò)誤。我知道用戶名和密碼是正確的,因?yàn)槲艺谂c另一個(gè)python服務(wù)使用相同的密碼和用戶名,其他服務(wù)工作正常。我沒有任何自定義SMTP服務(wù)器的文檔,但我知道SMTP服務(wù)器使用TLS我嘗試了普通的身份驗(yàn)證,gomailer,smtp。SendMail() 函數(shù),沒有 startTLS,但沒有任何變化。這是我的代碼;func (m *Mail) sendMail(body, to, subject string) bool {env := common.GetEnvironment()mailServer := env.MailServermailUsername := env.MailUsernameSMTP := fmt.Sprintf("%s:%s", mailServer, env.MailPort)auth := LoginAuth(mailUsername, env.MailPassword)tlsconfig := &tls.Config{    ServerName: mailServer,}c, err := smtp.Dial(SMTP)if err != nil {    zap.S().Error(err)    return false}c.StartTLS(tlsconfig)if err = c.Auth(auth); err != nil {    zap.S().Error(err)    return false}if err = c.Mail(mailUsername); err != nil {    zap.S().Error(err)    return false}if err = c.Rcpt(to); err != nil {    zap.S().Error(err)    return false}w, err := c.Data()if err != nil {    zap.S().Error(err)    return false}_, err = w.Write([]byte(body))if err != nil {    zap.S().Error(err)    return false}err = w.Close()if err != nil {    zap.S().Error(err)    return false}c.Quit()return true}身份驗(yàn)證功能; import (    "errors"    "net/smtp")type loginAuth struct {    username, password string}func LoginAuth(username, password string) smtp.Auth {    return &loginAuth{username, password}}func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) {    return "LOGIN", []byte(a.username), nil}func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {    if more {        switch string(fromServer) {        case "Username:":            return []byte(a.username), nil        case "Password:":            return []byte(a.password), nil        default:            return nil, errors.New("unknown from server")        }    }    return nil, nil}感謝您的幫助
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

您收到的錯(cuò)誤肯定是從smtp服務(wù)器返回的。smtp 協(xié)議支持多種身份驗(yàn)證機(jī)制。如果您不確定服務(wù)器支持哪些,可以使用以下命令手動(dòng)調(diào)試它。發(fā)送到服務(wù)器后,它將宣布支持的身份驗(yàn)證機(jī)制。然后,您可以嘗試手動(dòng)登錄并正確實(shí)施。
請(qǐng)注意,某些方法需要對(duì)登錄名和密碼進(jìn)行編碼(base64、md5 等)。openssl s_client -crlf -ign_eof -connect <smtp_host>:<TLS_port>EHLOStart()Next()

查看完整回答
反對(duì) 回復(fù) 2022-09-05
?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

命令“AUTH LOGIN”不需要用戶名參數(shù)。


請(qǐng)嘗試以下操作,您的身份驗(yàn)證可能會(huì)起作用(如果支持)


func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) {

    return "LOGIN", nil, nil

}


查看完整回答
反對(duì) 回復(fù) 2022-09-05
  • 2 回答
  • 0 關(guān)注
  • 712 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)