delphi CIS SMTP 发邮件之解决中文乱码问题  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi CIS SMTP 发邮件之解决中文乱码问题


CIS 是一套很不错的商业internet组件,简单强大易用。需要注意的是,有一个开源版本的ICS,和它命名非常相似!

其中有个CIS SMTP 发送邮件的例子,发送中文邮件,乱码很厉害!

delphi CIS SMTP 发邮件之解决中文乱码问题

其实只要指定编码格式,黑体的部分,中文乱码即可解决!

uses clEncoder;

 

procedure TForm1.btnSendClick(Sender: TObject);
begin
  if (clSmtp1.Active) then Exit;

  clSmtp1.Server := edtServer.Text;
  clSmtp1.Port := StrToInt(edtPort.Text);

  clSmtp1.UserName := edtUser.Text;
  clSmtp1.Password := edtPassword.Text;

  if cbUseTLS.Checked then
  begin
    clSmtp1.UseTLS := ctAutomatic;
  end else
  begin
    clSmtp1.UseTLS := ctNone;
  end;

  clSmtp1.Open();
  try
    clMailMessage1.CharSet := 'UTF-8';//请注意,,UTF-8写法很混乱,如果写成 UTF8,那是很杯具!
    clMailMessage1.Encoding :=  cmBase64; //加密方式

    clMailMessage1.BuildMessage( memBody.Text, '');
    clMailMessage1.From.FullAddress := edtFrom.Text;
    clMailMessage1.ToList.EmailAddresses := edtTo.Text;
    clMailMessage1.Subject := edtSubject.Text;

    clSmtp1.Send(clMailMessage1);

    ShowMessage('The message was sent successfully.');
  finally
    clSmtp1.Close();
  end;
end;

 

运行示例图:

delphi CIS SMTP 发邮件之解决中文乱码问题

在foxmail浏览邮件,正常显示:

delphi CIS SMTP 发邮件之解决中文乱码问题


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.043341875076294 seconds