Delphi6\Demos\Indy\MailClient中有你想要的!!!!我不要多,100分足以

解决方案 »

  1.   

    通过MIME协议,电子邮件中不但可以添加附件,还可以添加HTML格式内容,包括图片、声音、动画等。Outlook、Foxmail 4.0等软件都可以编辑HTML格式的邮件,但是并不支持直接嵌入Flash动画。事实上,正确利用MIME协议,可以在HTML格式的邮件中嵌入Flash动画,并在邮件正文中显示出来,其原理和在HTML格式邮件中显示图片、播放声音是一样的。在HTML格式邮件中嵌入Flash动画与向网页中添加动画所需要的代码是一样的,同样使用< OBJECT >、< EMBED >标记,感兴趣的朋友可以查看一个包含Flash动画的网页源代码,对比本程序。  在本程序中,设置邮件MIME消息头的Content-Type属性为multipart/related; boundary="---SwfEmail by JDH",表示该邮件包括多个不同数据类型的部分,各个部分之间用"---SwfEmail by JDH"(不包括引号)区分。在邮件内容的这些部分中,根据每部分的内容不同,再为其添加相应的MIME消息头,具体可参见程序源代码。 
    二、编程实战  启动Delphi 5,参考图1在Form1上创建各种控件。图中黑色方框内标明了控件名称,其中txt前缀表示TEdit控件,mem前缀表示TMemo控件,chk前缀表示TCheckbox控件,btn前缀表示TButton控件,NMSMTP1是TNMSMTP控件,OpenDialog1是TOpenDialog控件。图2列出了一部分控件的某些关键属性。现在添加代码如下:
    {******Unit1.pas源代码内容如下******}
    unit Unit1;
    interface
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, ExtCtrls, Psock, NMsmtp;
    type......
    procedure TForm1.btnOpenClick(Sender: TObject);
    begin
    {打开对话框,选择SWF文件}
    if OpenDialog1.Execute thenprocedure TForm1.NMSMTP1SendStart(Sender: TObject);
    begin
    {在邮件发送开始时修改邮件的消息头,标明邮件为多部分组成}
    NMSMTP1.FinalHeader.Values['Content-Type'] := 'multipart/related; boundary="------------SwfEmail by JDH"';
    end;procedure TForm1.chkSmtpVerifyClick(Sender: TObject);
    begin
    {根据是否需要SMTP服务器认证,改变用户名、密码状态}
    if chkSmtpVerify.Checked = True then......
    完整源代码http://www.pconline.com.cn/pcedu/empolder/gj/delphi/10205/58405.html