电子邮件群发系统的设计与实现
傅卓军 罗益荣 戴小鹏
(湖南农业大学计算机与信息工程学院湖南长沙410128)
摘 要邮件群发这一手段则被广泛应用于电子商务和网络营销中拥有局域网的单位也可以通过邮件群发方便迅速地发送通知和传达文件。简单阐述了发送电子邮件的原理提出了两种基于C++Builder和Access2000数据库实现电子邮件群发的方法详细介绍了C++Builder中TIdSMTP组件的使用并给出了用TIdSMTP组件实现群发的核心示例代码。 关键词电子邮件群发; 认证; TIdSMTP; TIdMessage; ADO; C++Builder
中图法分类号TP393098 文献标识码A 文章编号 1000-7024(2006) 10-1876-03
Design and implementation of bulk email sending system
FU Zhuo-jun, LUO Yi-rong, DAI Xiao-p eng
(Computer and Information Engineering College, Hunan Agricultural University, Changsha 410128, China)Abstract The method of bulk email sending has been applied in e-businesses and network selling The enterprises with intranet couldsend informs and document by using bulk email quickly and conveniently The theory of email sending is introduced And two methodsof implementation of bulk email sending based on C++Builder and Access2000 are presented Finally, TIdSMTP component of C++Builder in detail and the example codes using C++Builder to carry out bulk email sending are given
Key words bulk email sending; authentication; TIdS MTP; TidMe ssage; ADO; C++Builder
0 引 言
客户端与服务器之间来建立一种认证机制执行认证协议的交
换同时扩展也为以后的协议交互进行了安全层的协商。该扩
关电子邮件系统的标准协议组中的一员它的目的就是实现
有效和可靠的邮件传输主要对怎样将电子邮件从发送方地
址传送到接收方地址也就是对传输的规则做了规定。 SMTP
收稿日期 2005-03-18。
作者简介傅卓军(1978)男湖南长沙人讲师研究方向为计算机网络应用和网络安全 罗益荣男博士研究生讲师研究方向为图像处理和分布式计算 戴小鹏博士研究生副教授硕士生导师研究方向为网格计算和计算机虚拟技术。
1876
等几种 目前使用得比较多的是LOGIN方式认证。 SMTP认 注意代码中加粗的部分是必须的在访问有密码保护的证一般是在发送邮件之前进行一次采用口令-应答方式即 Access2000数据库时必须以独占方式打开 如果没有加粗部由服务器发送命令要求客户端回答客户端根据服务器发送 分的代码则连接数据库时会报错。
信息进行回答如果应答通过了则认证成功即可继续下一 23 使用TIdSMTP组件实现群发方法一
步处理。 在C++Builder60中新增加了一套INDY组件这是一套
开放源代码、功能强大的Intern et组件 目前该套组件的最新2 邮件群发系统的设计与实现 版本是INDY 10虽然在60以前的C++Builder版本中未集成21然后才能通过SMTP服务器发送邮件 由于SMTP服务器可 RFC821、RFC1869和RFC2544的规范利用TIdSMTP组件能能需要身份认证所以要编写实用的邮件群发软件还必须使其 够轻松的实现与SMTP服务器的认证连接、邮件的发送和回具有SMTP认证得功能。通过C++Builder中的TIdSMTP组 执请求。表1是要实现邮件群发将使用到TIdSMTP组件的基本属性和方法
并发送邮件从而实现群发。考虑到管理和获取邮件地址的方
便性地址列表存储的安全性以及基于该邮件地址列表的其 表1 TIdSMTP组件的基本属性和方法
Void fastcall TForm1: :N_OpenClick(TObject 在TIdSMTP中执行邮件发送的是S它的参数
是一个TIdMessage类的实例所以要实现完整的邮件发送TId-
SMTP组件还必须配合INDY中的TIdMessage组件使用。TId-
Message组件封装了一个完整的符合RFC822和RFC1036规
*S ender) 范的Internet消息实际上TIdS MTP组件是用来实现连接
OpenD ialog 1->InitialDir=" \\" ;
void fastcall TForm1: :SEND_BTNClick(TObject *Sender) while(!ADOTable1 ->Eof)
SMTP服务器地址和端口号 {Ans iString tmpstr;
IdS MTP 1->P ort=25; tmpstr=Trim(ADOTable1->FieldByName("Email")->AsString) ;if (ChSMT P服务器是否需_要认证 addr=tmp str ;
IdM essage 1->Subj ect=Ed it3->Text Trim();
for(k=0;k<=recnum-1;k++) 虽然以上的示例代码基本实现了邮件群发功能
{addr=Trim(ADOTable 1->Fi eldByName("Email")- 认证采用的是LOGIN认证方式LO GIN方式对用户名和密码>As String) ; 的B ASE64编码是一种公共的编码标准其实并不安全。同时
{ IdSMTP 1->Connect(); } 有些邮件服务商为了防止他人利用SMTP服务器上合法用户服务器失
{ IdSMTP 1->Send(IdMessage1); }
} [1] 陈招伟,车文刚,张海洲邮件系统中的SMTP认证机制[J]昆
AD OTab le 1->Next(); } 明理工大学学报(理工版), 2003,28(2):83-86唐磊,金连甫大
//与SMTP服务器认证、建立连接 [9]
AD OTab le1->First();
1878
今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...
香港大带宽服务器香港大带宽云服务器目前市场上可以选择的商家十分少,这次给大家推荐的是我们的老便宜提速啦的香港大带宽云服务器,默认通用BGP线路(即CN2+BGP)是由三网直连线路 中国电信骨干网以及HGC、NTT、PCCW等国际线路混合而成的高品质带宽(精品带宽)线路,可有效覆盖全球200多个国家和地区。(适用于绝大部分应用场景,适合国内外访客访问,域名无需备案)提速啦官网链接:点击进入香港Cer...
介绍:御速云成立于2021年的国人商家,深圳市御速信息技术有限公司旗下品牌,为您提供安全可靠的弹性计算服务,随着业务需求的变化,您可以实时扩展或缩减计算资源,使用弹性云计算可以极大降低您的软硬件采购成本,简化IT运维工作。主要从事VPS、虚拟主机、CDN等云计算产品业务,适合建站、新手上车的值得选择,拥有华东江苏、华东山东等国内优质云产品;香港三网直连(电信CN2GIA联通移动CN2直连);美国高...