电子邮件群发系统的设计与实现
傅卓军 罗益荣 戴小鹏
(湖南农业大学计算机与信息工程学院湖南长沙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
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...
热网互联怎么样?热网互联(hotiis)是随客云计算(Suike.Cloud)成立于2009年,增值电信业务经营许可证:B1-20203716)旗下平台。热网互联云主机是CN2高速回国线路,香港/日本/洛杉矶/韩国CN2高速线路云主机,最低33元/月;热网互联国内BGP高防服务器,香港服务器,日本服务器全线活动中,大量七五折来袭!点击进入:热网互联官方网站地址热网互联香港/日本/洛杉矶/韩国cn2...
LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...