delphi2010发送邮件—中文显示为乱码解决
2015-07-02 17:27
1286 查看
在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;
相关文章推荐
- delphi链接sqllite数据库
- delphi locate
- Delphi保存字符串到文本文件
- Delphi Math里的基本函数,以及浮点数比较函数(转)
- Delphi2010如何获取程序内部自身版本号?
- delphi tcombobox 光标 输入
- delphi中exit,abort,break,continue 的区别
- delphi 资源文件详解
- Delphi XE调用第三方库Jni详细过程
- DELPHI RES操作
- delphi DISQLite3使用例子
- delphi 四舍五入Round函数【百帖整理】
- Delphi 常用函数(数学函数)round、trunc、ceil和floor
- Delphi中使用Dos窗口输出调试信息
- 使用Delphi Xe8 开发微信功能 -- (四)微信支付商户平台之申请退款
- delphi学习笔记开头篇
- log delphi
- Delphi的基本函数
- delphi 基础之四 delphi 组织结构
- delphi 基础之三 编写和调用dll文件