用C++ Builder编写发送电子邮件软件

发表于:2007-06-11来源:作者:点击数: 标签:
与E-mail密切相关的两个协议是POP3和SMTP,POP3是Post Protocol 3的缩写,用于从POP3 服务器 接收电子邮件,SMTP是Simple Mail Transfer Protocol的缩写,用于通过SMTP服务器发送电子邮件。这两个协议本身是很复杂的,但C++Builder从NetManage公司引进了
与E-mail密切相关的两个协议是POP3和SMTP,POP3是Post Protocol 3的缩写,用于从POP3服务器接收电子邮件,SMTP是Simple Mail Transfer Protocol的缩写,用于通过SMTP服务器发送电子邮件。这两个协议本身是很复杂的,但C++Builder从NetManage公司引进了 POP、SMTP控件,这样,我们完全可以不去管那些收发邮件的机理,只要设置好这些控件就可以编出一个C++Builder的发送邮件程序了。下面介绍 SMTP控件:

SMTP控件位于控件栏的Inte.net页面上,名称为:NMSMTP。SMTP的主要属性有:

Host属性,用来指定SMTP服务器的主机名。

Port属性,用于指定SMTP服务器的端口号,一般设为25。

UserId属性,登录SMTP服务器时用于设置用户名。

PostMessage属性,此属性非常重要,从以下它的内容你就可以看出来了:

FromName 用于指定发件人的名称。

FromAddress 用于指定发件人的e-mail地址。

LocalProgram 用于指定发件人所使用的邮件客户程序。

ToAddress 收件人的地址。

Body 邮件正文。

Subject 邮件主题。

SMTP控件的方法:

Connect函数,用于登录到SMTP服务器,使用此函数前,Host、Port、UserId等属性必须已设好。

Disconnect函数,用于断开与SMTP服务器的连接。

SendMail函数,用于向SMTP服务器发送邮件。知道了这些,我们就可以写程序了。

新建应用程序,将工程名保存为sendmail,在Form1上加入NMSMTP控件,Host属性添入SMTP服务器的名称,如: “smtp.yeah.net”,UserId属性添入你在此邮箱申请的用户名,其它属性保持默认值;加入4个Label控件,将其Caption分别设为:“发件人名称”、“收件人地址”、“邮件主题”和“邮件正文”;加入4个Edit控件,将其Name分别设为:“Name1”、 “Address1”、“Subject1”和“Body1”;一个SpeedButton控件,Caption为:“发送”(以上属性均不含引号), Click事件代码为:

NMSMTP1->Connect();

NMSMTP1->PostMessageA->FromName=Name1->Text;

NMSMTP1->PostMessageA->FromAddress=″superlink@yeah.net″;

NMSMTP1->PostMessageA->ToAddress->Add(Address1->Text);

NMSMTP1->PostMessageA->Subject=Subject1->Text;

NMSMTP1->PostMessageA->Body->Add(Body1->Text);

NMSMTP1->PostMessageA->LocalProgram=″SendMail″;

NMSMTP1->SendMail();

Application->MessageBoxA(″发送完成!″,″邮件系统″,MB_OK);

NMSMTP1->Disconnect();


完成!不过,NMSMTP控件还有大量的功能没在此一一列出,同时还有NMPOP3控件可用来编写接收邮件的程序,如果喜爱C++Builder的朋友感兴趣,完全可以写出象OutLook Express、FoxMail这样的电子邮件软件。


原文转自:http://www.ltesting.net

...