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

本文介绍利用C++Builder中的IdSMTP和IdMessage控件实现邮件发送测试。目标是从dgyanyong@163.com向dgyanyong@sina.com发邮件,抄送dgyanyong@sohu.com和dgyanyong@msn.com。文中给出在Form1添加控件及按钮代码示例,邮箱信息为虚构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们需要实现的目标是:
dgyanyong@163.comdgyanyong@sina.com 发送一封电子邮件
并且将邮件内容抄送给
dgyanyong@sohu.comdgyanyong@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邮箱的用户名和密码均属虚构,只是做个范例,用户可以根据自己的需要设定。

发送附件我暂时还没做出来,做出来后会补上。
如果哪位高手知道的话请在评论中帮忙补上,万分感谢!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值