用C++ Builder实现电子邮件群发[VC/C++编程]
本文“用C++ Builder实现电子邮件群发[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
摘 要:本文简单阐述了发送电子邮件的原理,提出了一种基于C++ Builder和Access2000数据库来实现电子邮件群发的办法,具体介绍了C++ Builder 中TIdSMTP组件的利用,并给出了用TIdSMTP组件实现群发的核心示例代码.
关键词:电子邮件群发;认证;TIdSMTP;TIdMessage;ADO
引言
邮件群发这一手段被遍及利用于电子商务、网络营销中,比方我们目前可以通过chnia-pub.com(互动出版网)的书讯群发邮件理解到当前新书的资讯,据统计在美国有超越70%的Internet用户的在线购物行为要归功于Email营销,别的那些建立了局域网的单位也可以通过邮件群发来发送告诉或传达文件,这样可以节俭大量的人力物力并且便利疾速.本文简单介绍了发送电子邮件的原理,提出了一种基于C++Builder和Access2000数据库实现电子邮件群发的办法,具体介绍了C++Builder 中TIdSMTP组件的利用,并给出了用TIdSMTP组件实现群发的核心示例代码.
发送电子邮件的原理
1、SMTP协议
SMTP协议是IETF(Internet Engineering Task Force)制订的有关电子邮件系统的尺度协议组中的一员,它的目的就是实现有效(efficiently)和坚固的(reliably)邮件传输,主要对怎样将电子邮件从发送方地址传送到接纳方地址,也就是对传输的法则做了规定.SMTP协议中的主要角色是SMTP发信机和SMTP收信机,但是一个SMTP服务器大概兼有两种角色.SMTP协议采取了一组简单的号令来成立衔接并在主机之间传送号令和数据.SMTP发信机向SMTP收信机发出SMTP号令,如:"MAIL FROM: <mybox@hunau.net>"就是奉告SMTP收信机邮件的根源,待收到号令后SMTP收信机则会呼应应答SMTP号令,即会返回一个应答码,应答码普通为一个三位的十进制数,并且每一个数都有特定含义的,比方返回"250"表示要求的邮件操作完成.其他的SMTP号令和应答码在RFC821中有具体的描写,此处不再赘述.
2、ESMTP协议
目前,为了避免网络上垃圾邮件的泛滥,几近全部的邮件服务供应商都在本来的SMTP服务器上追加了认证功效,但实际上SMTP协议本身并不具有认证的功效,在1999年3月出台的SMTP服务认证功效扩大(SMTP Service Extension for Authentication,RFC2544),即ESMTP中才定义了怎样在SMTP客户端与服务器之间来成立一种认证机制,履行认证协议的交换,同时扩大也为今后的协议交互举行了安全层的协商.该扩大是简单认证和安全层(Simple Authentication and Security Layer,SASL)的一个方面.
SMTP认证功效的扩大实际实际上是增添了AUTH号令,AUTH号令的认证方法主要有LOGIN、CRAM-MD5和PLAIN等几种,我国目前利用得对比多的是LOGIN方法认证.SMTP认证普通是在发送邮件之前举行一次,采取口令-应答(Challenge-Response)方法,即由服务器发送号令要求客户端答复,客户端按照服务器发送信息举行答复,假如应答通过了,则认证成功,便可持续下一步处理.
用C++Builder实现邮件群发
1、总体计划
要实现邮件群发,我们首先需求实现与SMTP服务器衔接,然后才能通过SMTP服务器发送邮件,由于SMTP服务器大概需求身份认证所以我们要编写实用的邮件群发软件还必须使其具有SMTP认证的功效.我们可以通过C++Builder中的TIdSMTP组件来实现与SMTP服务器的认证、衔接和邮件的发送.通过编写代码循环读取邮件地址列表(Mail List)中的邮件地址并发送邮件从而实现群发.考虑到管理和获得邮件地址的便利性,地址列表存储的安全性以及基于该邮件地址列表的其他相关利用程序的开辟我们可以采取Access2000数据库来存储邮件地址列表,操纵C++Builder中的TADOTable组件我们可以利用ADO方法轻松的实现对Access2000数据库的直接拜候和各种操作.
以上是“用C++ Builder实现电子邮件群发[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |