电子邮件群发系统的设计与实现
傅卓军 罗益荣 戴小鹏
(湖南农业大学计算机与信息工程学院湖南长沙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
A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...
中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...