您的位置:首页 > 编程语言 > C语言/C++

利用C++Builder中的IdSMTP和IdMessage控件发送电子邮件

2004-09-11 14:10 579 查看
我们需要实现的目标是:
从dgyanyong@163.com 向 dgyanyong@sina.com 发送一封电子邮件
并且将邮件内容抄送给dgyanyong@sohu.com和dgyanyong@msn.com
邮件的主题为: 测试发送电子邮件
邮件的内容为: 利用C++Builder中的IdSMTP和IdMessage控件发送电子邮件
邮件的附件为: 暂时不考虑

在Form1中添加两个Indy控件:
IdSMTP(在Indy Clients标签页中)
IdMessage(在Indy Misc标签页中)
向窗体中添加一个Memo1,一个按钮button1,双击button1按钮,添加如下代码:

void __fastcall TForm1::Button1Click(TObject *Sender)
{

IdMessage1->Recipients->EMailAddresses = "dgyanyong@sina.com"; //邮件接收者的信箱
IdMessage1->From->Text = "dgyanyong@163.com"; //邮件发送者的信箱
IdMessage1->Subject = "测试发送电子邮件"; //邮件的标题
IdMessage1->Body->Add("利用C++Builder中的IdSMTP和IdMessage控件发送电子邮件");//邮件内容
IdMessage1->CCList->EMailAddresses = "dgyanyong@sohu.com,dgyanyong@msn.com"; //邮件的抄送地址
if (IdSMTP1->Connected())
{
IdSMTP1->Disconnect();
}
IdSMTP1->AuthenticationType = atLogin; //登录服务器类型选择
IdSMTP1->Host = "smtp.163.com"; //SMTP服务器
IdSMTP1->UserId = "dgyanyong"; //163邮箱的用户名
IdSMTP1->Password = "dgyanyong"; //163邮箱的密码
IdSMTP1->Port = 25; //端口
IdSMTP1->Connect(); //连接SMTP服务器
if (IdSMTP1->Authenticate()) //用户验证
{
Memo1->Lines->Add("登录服务器验证成功!");
IdSMTP1->Send(IdMessage1); //发送邮件
Memo1->Lines->Add("邮件发送成功");
}
IdSMTP1->Disconnect(); //中断连接SMTP服务器
}

上述邮箱、163邮箱的用户名和密码均属虚构,只是做个范例,用户可以根据自己的需要设定。

发送附件我暂时还没做出来,做出来后会补上。
如果哪位高手知道的话请在评论中帮忙补上,万分感谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: