要求:
     电脑每天自动发送邮件。
     每天只要发送二十几个。(数据从数据库取)
     请问在D7要用什么控件,怎样才知道是否发送成功!

解决方案 »

  1.   

    用timer来控制判断是否到了发送时间,用tidsmtp与TIdMessage进行发送,
    Fsend :tidmtp
    Femail :tidmessage;
    try
       try
          Fsend.Connect;
          Fsend.Send(Femail);
         application.MessageBox('发送成功','成功',MB_ok);
       Except
          Fsend.DisconnectSocket ;
          Fsend.Disconnect ;
          application.MessageBox('连接SMTP服务器出现错误','错误',MB_ICONERROR);
          exit;
       end;
    finally
      Fsend.DisconnectSocket ;
      Fsend.Disconnect ;
    end;
      

  2.   

    用这个怎么指定邮箱名,如[email protected]
      

  3.   

    FEmail.From.Text := 发送邮箱;
       Femail.Recipients.EMailAddresses :=接受邮箱Femail.Subject:=主题
    Femail.body.text :=正文  Fsend.Username :=发送邮箱名称
      Fsend.password:=发送邮箱密码
     Fsend.host :=邮件服务器地址
    Fsend.port :=端口
      

  4.   

    上面一楼老兄的正解,
    你的报错是提示什么错误信息?
    有些邮件服务器是不能在发送时就判断是否发送成功的
    就像你用SOHU发一封信,开始提示‘发送成功’而后又收到一封邮件告诉你,你的XX封信件发送失败了~~
    就这样的,如果是自己的邮件服务器的话就不一样了,你可以设置服务器时进行设置对发送失败的信件重发~~
      

  5.   

    access violation at address 什么的
      

  6.   

    你的邮件地址不对吧,或是你设置的邮件服务器的协议不对,邮件服务器地址有的是pop3.xxx.com或是其它的,如china上的地址就是freemail.china.com什么的,你要到你的邮件服务器上去看一看是什么样的
      

  7.   

    fsend.Host:='smtp.126.com';//pop3.126.com都试过了不行
          fsend.port:=25;
          fsend.Username:='[email protected]';
          fsend.Password:='pww';
          Fsend.Connect;
          Fsend.Send(Femail);
         application.MessageBox('发送成功','成功',MB_ok);
      

  8.   

    Femail的from和to的地址都要写的,否则发不出去
      

  9.   

    you are not authorized to send as <[email protected]>这是为什么
      

  10.   

    1。拿个timer自己去写吧,不会很复杂的 2。有sendbuffer();
      

  11.   

    最好用多线程.
    发现一个可以下载(Delphi)代码的地方:  
    http://www.datcn.com/luntan/dispbbs.asp?boardID=26&ID=879