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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:如何在電子郵件中對主題標(biāo)題和正文進行 UTF8 編碼?

Golang:如何在電子郵件中對主題標(biāo)題和正文進行 UTF8 編碼?

Go
富國滬深 2022-06-13 17:13:46
我對如何將包含主題標(biāo)頭和電子郵件正文的字符串(成功地 - 在 UTF8 中)傳遞給此函數(shù)很感興趣:func sendEmail(body string) {    c, err := smtp.Dial(".....")    if err != nil {        log.Fatal(err)    }    defer c.Close()    // Set the sender and recipient.    c.Mail(".....")    c.Rcpt(".....")    // Send the email body.    wc, err := c.Data()    if err != nil {        log.Fatal(err)    }    defer wc.Close()    buf := bytes.NewBufferString(body)    if _, err = buf.WriteTo(wc); err != nil {        log.Fatal(err)    }}然后我得到了主題標(biāo)題和電子郵件正文;body := "Subject: Header string which contains ????? in name of user " + name + "!\n" body += "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: base64\r\n" body += "String inside email body which also might contain ?????" + year_month_day_hour_minute + " - " + end_of_shift//function callsendEmail(body)我認為它應(yīng)該可以正常運行......它確實正確顯示了主題標(biāo)題字符串(在 utf8 中),但由于某種未知原因,電子郵件正文的其余部分以垃圾形式顯示。我試圖改變一些小細節(jié),但原則上并沒有真正改變。這是我的第一個 Go 示例,因此我很容易忽略顯而易見的問題。感謝您對此事的任何想法!
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經(jīng)驗 獲得超3個贊

嘗試:在您的文本主題中使用此功能


func cSubject(subject string) string {

    //return "=?iso-8859-1?Q?" + subject + "?="

    return "=?utf-8?q?" + subject + "?="

}


查看完整回答
反對 回復(fù) 2022-06-13
?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

我使用 golang 使用以下代碼成功發(fā)送了 UTF8 電子郵件


func sendContactUs(name string, email string, userInput string) {

    // Sender data.

    from := "some@email.address"

    password := "some password"


    // Receiver email address.

    to := []string{

        "receipient@email.address",

    }


    // smtp server configuration.

    smtpHost := "smtp.gmail.com"

    smtpPort := "587"


    raw := `Subject: {name} Contact form on Web

Content-Type: text/plain; charset="UTF-8"



    Dear Manager,


    We receive a a form submission from webpage

    name  : {name}    

    email : {email}

    message:


    {message}


    Kind Regards

    XXXX  Mailing service team.

`


    raw = strings.Replace(raw, "{name}", name, -1)

    raw = strings.Replace(raw, "{email}", email, -1)

    raw = strings.Replace(raw, "{message}", userInput, -1)


    // Message.

    message := []byte(raw)


    // Authentication.

    auth := smtp.PlainAuth("", from, password, smtpHost)


    // Sending email.

    err := smtp.SendMail(smtpHost+":"+smtpPort, auth, from, to, message)

    if err != nil {

        fmt.Println(err)

        return

    }

    fmt.Println("Email Sent Successfully!")

}

請注意帶有Content-type 的行:它必須從頭開始。換句話說,它不應(yīng)該有任何前置空格。


此外,它后面必須有一個空行。


這是一個工作代碼。請試一試。如果您遇到任何問題,請告訴我。


查看完整回答
反對 回復(fù) 2022-06-13
  • 2 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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