最近在用Delphi2010开发程序 ,需要将生成的结果以电子邮件的方式发送到指定邮箱里,功能已正常实现,在这里将设置做一下记录,时间一长就容易忘!
开发工具:Delphi2010
邮箱:QQ邮箱
一、 首先在QQ邮箱里设置, 登录邮箱后进入设置
二、进入账户
三、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
1、将POP3/SMTP服务和IMAP/SMTP服务设置成已开启状态
2、点击生成授权码(生成16位码,这个很重要)
3、记的保存更改
至此QQ邮箱就设置完成
四、Delphi2010的控件部分
1、首先在窗体上需要放两个控件,控件在Indy Misc和Indy Clients组里
放到窗体上这样的两个控件
五、Delphi2010的代码部分
idsmtp.Username:='11*******@qq.com'; //登陆帐号
idsmtp.Password:='****************'; //登陆密码(QQ邮箱使用的授权码,不是QQ登录密码)
idsmtp.Host:='smtp.qq.com'; //SMTP地址
idsmtp.Port:=25; //端口
idsmtp.Connect; //连接服务器
idmsg.CharSet:='UTF-8'; //邮件的内容中文不显示乱码
idmsg.Body.Clear; //清空内容
idmsg.Subject:= ‘邮箱标题’; //邮件的标题
idmsg.Body.Text = '邮件发送的主体' ; //邮件的内容
idmsg.From.Address:= '11*******@qq.com'; //邮件发件人
idmsg.Recipients.EMailAddresses:='11*******@qq.com'; //收件人的地址 多个地址用英文;分号隔开
idsmtp.Send(idmsg); //发送邮件
idsmtp.Disconnect(True); // 关闭服务器连接
结束语:在实现程序控制邮件发送的过程中,踩了好多坑,1、发送邮件时QQ邮箱使用的不是QQ的登录密码,而是授权码,这个之前真不知道,还是在CSDN里的一位博主的文章里看到,才明白的;2、发送的邮件内容如果是中文,全是乱码,这里要设置UTF-8,好了,就写这到这里了。