可以用FASTNET栏上的TNMSMTP控件。主要用到
Host特性PORT特性PostMessage特性
 声明:property PostMessage:TPostMessage; 
 该特性用于设置要张贴的消息。TPostMessage是一个类,其中:
 FormName 用于指定发件人的名称。
 FromAddress用于指定发件人的E-Mail地址。
 ReplyToAddress 用于指定回复地址。
 Organization 用于指定发件人所在的组织。
 LocalProgram 用于指定发件人所使用的邮件客户程序。
 ToAddress 这是个TStringList对象,用于指定抄送的E-Mail地址。
 TOCC这是个TStringList对象,用于指定抄送的E-Mail地址。
 ToBCC这是个TSTringList对象,用于指定要密件抄送的E-Mail地址。
 Attachments 这是个TStingList对象,用于指定附加。 
 Body 这是个TStringList对象,用于指定邮件正文。
 Subject用于指定邮件的主题。
 Date用于指定邮件的发送日期,空,表示当前日期。UserID特性,用于指定用户名控件的过程
Connect过程Disconnect过程ExpandList过程  function ExpandList(MailList:string):boolean;
  该过程在SMTP服务器上检索一个邮件列表。如果有的话,可以通过OnMailListReturn事件
取得这个邮件列表。SendMail过程Verify函数用于校验某个用户名是否合法。如合法,这个函数就返回True。SMTP控件的事件有:
OnAttachmentNotFound事件
说明:在发送邮件时,如果没有找到PostMessage特性所指定的附加,就会触发这个事件。OnAuthenticationFailed事件 
说明:如果没有事先给出用户或用户名是非法的,将会触发该事件。OnConnect事件OnConnectionFailed事件OnDisconnect事件OnEncodeStart事件
说明:当一个附件被编码是触发
OnEncodeEnd事件
OnFailure事件
如果邮件没有被成功发送,将触发OnHeaderIncomplete事件
如果PostMessage特性中给出的头标信息不完整,将触发这个事件
OnHostResolved事件
OnInvalidHost事件OnMailListReturn事件
说明:当程序调用ExpandList函数检索邮件列表时,每检索到一项(E-Mail地址)就会触发
这个事件。
OnRecipientNotFound事件
说明:如果PostMessage特性中指定的收件人不存在,将触发这个事件。
OnSendStart事件
OnSuccess事件以上就是TNMSMTP的主要属性,方法和事件。(对有些看起来就明白的地方就不做解释了,嘿嘿,打的好累啊,^_^)
现在,你应该能用它了吧!祝你好运!哈哈

解决方案 »

  1.   

    我建议还是用tclientsocket自己来写代码可能会好一点!
      

  2.   

    delphme(常风大侠) 
    能不能讲讲用Tclientsocket来写啊?(具体点啊)交流交流嘛!^_^
      

  3.   

    -->Tclientsocket来写
    当然可以了,但你要十分了解SMTP协议才行
    像RECP,MAIL,PASS什么的
      

  4.   

    delphime:
        我的意识就是自己写代码,不用控件。对于,SMTP协议,我看了一些东西,已经了解,不过,就是不知道用什么东西和SMTP服务起通讯呀。如果用TCLIENTSOCKET怎样做呢?
    jhonguy:
        真是抱歉,你没有明白我的意思……
      

  5.   

    当然可以。都是socket连接呀!
    他们的原理都是一样的,只是各自的功能不同。
    smtp控件主要是封装了Transaction这个函数。你可以通过这个函数与SMTP服务器通讯。
    具体用TCLIENTSOCKET你还得看协议
      

  6.   

    我现在是会一些了,不过我又遇到一个小毛病不如说连接的时候,我在程序中用循环测试是否成功。不过用
    while do 一运行程序就死了。怎么办?