delphi2010发送邮件—中文显示为乱码解决

Delphi 专栏收录该内容
8 篇文章 0 订阅


在delphi2010中拖idsmtp和idmessage这俩个控件,就可以发送邮件了。

在按钮btn1的click事件下写如下代码:

值得注意的是:1、你用哪个邮箱的服务器,在 IdSMTP1.Host:='smtp.qq.com'这都是有区别的,另外还需在所用的邮箱中设置账号里面开启SMTP服务。

发送邮件内容时,如果不指定IdMessage1.CharSet:='UTF-8';//,则发送内容中文显示为乱码。

var

  filename: string;
begin   //发送邮件主函数
  try
   // IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvSSLv3;
    //IdSMTP1.IOHandler:= IdSSLIOHandlerSocket1;  //区别在这儿哟
    //IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型
    IdSMTP1.Username:='你的邮箱账号'; //设置登陆帐号
    IdSMTP1.Password:='密码'; //设置登陆密码
    IdSMTP1.Host:='smtp.qq.com'; //设置SMTP地址
    IdSMTP1.Port:=25;     //设置端口 ,默认是25,


  //在你的qq邮箱中——设置——账户开启SMTP服务,否则报错    //


    if not idsmtp1.Connected then
    begin
      IdSMTP1.Connect; //开始连接服务器
    end;
  except
    Showmessage('连接失败,请重试!');
    Exit; //连接失败 的话 退出该执行过程
  end;
  IdMessage1.CharSet:='UTF-8';//j解决发送内容为中文乱码
  IdMessage1.Body.Clear;  //先清空上次发送的内容
  IdMessage1.Subject:='Delphi邮件发送测试';  //设置邮件发送的标题
  //IdMessage1.Body.add(edt1.Text);
  IdMessage1.Body.Text:= edt1.Text;
   //设置邮件发送的主体
//  filename := 'C:\文件.txt';   //需要添加的附件文件
  //TIdAttachment.Create(IdMessage1.MessageParts, filename);  //添加附件
  IdMessage1.From.Address:= '邮箱账号'; //设置邮件的发件人  也就是说该邮件来自什么地方
  IdMessage1.From.Name := '逍遥';
  IdMessage1.Recipients.EMailAddresses:= 'xxx@qq.com';  //收件人的地址
  IdMessage1.CCList.EMailAddresses:='xxx@qq.com';//抄送
//  IdMessage1.BccList.EmailAddresses:='aaaabbb@gmail.com'; //密送
//  IdMessage1.Priority:=mpHighest; //邮件重要性
  try
    idSMTP1.Authenticate;
    idSMTP1.Send(IdMessage1);
    Showmessage('发送成功!');
  except
    Showmessage('邮件发送失败!');
  end;
end;
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

hello_myhome

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值