电子邮件群发系统的设计与实现
傅卓军 罗益荣 戴小鹏
(湖南农业大学计算机与信息工程学院湖南长沙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
tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...
在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...
BGPTO是一家成立于2017年的国人主机商,从商家背景上是国内的K总和有其他投资者共同创办的商家,主营是独立服务器业务。数据中心包括美国洛杉矶Cera、新加坡、日本大阪和香港数据中心的服务器。商家对所销售服务器产品拥有自主硬件和IP资源,支持Linux和Windows。这个月,有看到商家BGPTO日本和新加坡机房独服正进行优惠促销,折扣最低65折。第一、商家机房优惠券码这次商家的活动机房是新加坡...