日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SakMail組件發(fā)出的郵件,可能收到亂碼的問題

 獨孤求財 2012-03-20

SakMail組件發(fā)出的郵件,可能收到亂碼的問題

時間:2011-5-26來源:yang 作者: peng點擊: 17次

在SakMsg.pas中
TSakMsg.Create過程中,初始定義了  FCharSet := ‘ISO-8859-1‘;  // you can change this
經(jīng)測試發(fā)現(xiàn),如果不改CharSet、TextEncoding屬性,在mail.sina.com.cn收到的郵件正常的(收發(fā)都用sina郵箱),但發(fā)現(xiàn)163的郵件則中文部分是亂碼。
通過分析發(fā)現(xiàn)SakMsg默認用8BIT編碼,那么可能是郵件服務之間傳輸時,由于某個服務器不支持8BIT的傳輸或解析,導致看起來是亂碼,所以直接用Base64來進行編碼就可以解決了,于是將
TextEncoding := taBase64; CharSet :=‘utf-8‘;
結果收到的sina和163收到的都是亂碼(中文部分),查找了一下,發(fā)現(xiàn)編碼前沒有進行內友轉換,于是在FillRawMail過程里,將Body.Text := Text.Text;行替換成
  if FCharSet = ‘utf-8‘ then begin
    Body.Text := AnsiToUtf8(Text.Text);//郵件正文
    Subject := AnsiToUtf8(Subject);//郵件標題
  end else begin
    Body.Text := Text.Text;
  end;
問題解決。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多