您的位置:首页 > 编程语言 > Delphi

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: