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

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

附件名稱中的 Unicode 字符

附件名稱中的 Unicode 字符

Go
慕田峪9158850 2022-06-13 16:20:06
我正在嘗試編寫(xiě)一個(gè)使用 SMTP 將 PDF 發(fā)送到我的 Kindle 的程序。當(dāng)我使用常規(guī)客戶端(即 Outlook)向 Kindle 發(fā)送附件時(shí),即使文件名不是 ASCII,我也會(huì)得到正確的文件名。但是,當(dāng)我使用代碼發(fā)送它時(shí),Unicode 字符沒(méi)有正確顯示。我嘗試將附件發(fā)送到我的個(gè)人電子郵件中,沒(méi)有任何問(wèn)題,只是 Kindle 無(wú)法識(shí)別這些字符。這是我的附件標(biāo)題:Content-Disposition: attachment; filename="?§ù???-ù ù?§ùù?3ù?§ù.pdf"Content-Transfer-Encoding: base64Content-Type: application/pdf; name="?§ù???-ù ù?§ùù?3ù?§ù.pdf"這是我的代碼:package mainimport (    "log"    "gopkg.in/gomail.v2")func main() {    m := gomail.NewMessage()    m.SetHeader("To", "MY-KINDLE-EMAIL@kindle.com")    m.SetHeader("From", "MY-EMAIL@hotmail.com")    m.SetBody("text/plain", "")    path := "C:\\Users\\al111\\Downloads\\Telegram Desktop\\??? ???? ?????????.pdf"    m.Attach(path)    d := gomail.NewDialer("smtp.live.com", 587, "MY-EMAIL@hotmail.com", "MY-PASSWORD")    err := d.DialAndSend(m)    if err != nil {        log.Fatal(err)    }}
查看完整描述

1 回答

?
蝴蝶刀刀

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

RFC 2822樣式的電子郵件標(biāo)頭不允許未轉(zhuǎn)義的 Unicode 字符。您需要使用與 ASCII 兼容的編碼,例如RFC2047 1或RFC 2231,例如:


內(nèi)容處置:附件;

  文件名="=?UTF-8?Q?=D9=83=D9=8A=D9=81=20=D8=AA=D8=B9=D9=85=D9=84=20=D8=A7=D9= 84=D9=85=D8=A7=D8=B1=D9=83=D8=B3=D9=8A=D8=A9=2E=70=64=66.pdf?="


內(nèi)容類型:應(yīng)用程序/pdf;

  名稱="=?UTF-8?Q?=D9=83=D9=8A=D9=81=20=D8=AA=D8=B9=D9=85=D9=84=20=D8=A7=D9= 84=D9=85=D8=A7=D8=B1=D9=83=D8=B3=D9=8A=D8=A9=2E=70=64=66.pdf?="

內(nèi)容處置:附件;

  文件名*=UTF-8''%D8%A%D8%A%D8%B9%D8%A%D8%B9%D8%A%D8%B9%D8%A%D8%A%D8%B9%D8 %A%D8%A%D8%A%DB%D8%A%D8%A%D8%A%D8%''文件名*=UTF-8''%85%D8%A7%D8%B1%D8% D8%B3%D8%D8%A9%2E%70%64%66.pdf


內(nèi)容類型:應(yīng)用程序/pdf;

  D8%D8%A7%D8%B9%D8%A%D8%B9%D8%A%D8%B9%D8%A%D8%B9%D8%A%D8%B9%D8%D8%A7%D8D8D8a% D8%B9%D8%D8%D8%D8%D8%D8%D8%D8A7%女兒,姓名*=UTF-8'' %85%D8%A7%D8%B1%D8%D8%B3%D8%D8 %A9%2E%70%64%66.pdf

1:是的,我知道 RFC 2047在技術(shù)上不允許encoded-words 在帶引號(hào)的字符串中,例如用于參數(shù)值。但是許多服務(wù)器確實(shí)允許這樣做。


看:


如何對(duì) MIME 消息中 Content-Disposition 標(biāo)頭的文件名參數(shù)值進(jìn)行編碼?


附件文件名的混亂


當(dāng) Outlook 向您的電子郵件發(fā)送電子郵件時(shí),它很可能正是這樣做的。您可以通過(guò)查看它實(shí)際發(fā)送的電子郵件的原始數(shù)據(jù)來(lái)驗(yàn)證這一點(diǎn)。


在 Go 中,該m.Attach()函數(shù)有一個(gè)可選settings參數(shù),可用于傳遞附件的附加參數(shù),例如自定義文件名甚至自定義標(biāo)題,例如:


baseName := mime.QEncoding.Encode("utf-8", filepath.Base(path))

m.Attach(path, gomail.Rename(baseName))

baseName := url.PathEscape(filepath.Base(path))

m.Attach(path, gomail.SetHeader(map[string][]string{

        "Content-Disposition": {"attachment; filename*=UTF-8''" + baseName},

    }))


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

添加回答

舉報(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)