google查的都是用Delphi6 写的,
下载的程序在delphi7都跑不了郁闷~~~

解决方案 »

  1.   

    留下EMAIL.
    DEMO等待发送中......
      

  2.   

    跟上,我也有,呵呵,我算是尝过没人理的滋味
    等待E-MAIL
      

  3.   

    uses  IdMessage, IdBaseComponent, IdComponent,
      IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP;type
      Tmailsetting = record
        smtpserver: string;//eg:stmp.sohu.com
        sendfrom: string;//[email protected]
        sendto: string;//[email protected]
        subject: string;//题目
        emailtext: string;//正文
        sendsetting: string;//可以不用
        authentication: boolean;//是否验证:true
        userid: string;//你的邮箱帐号
        password: string;//邮箱密码
      end;
    {可以用sohu的smtp.sohu.com代理发送}
    {gmail的认证不一样就不行了}
    {要想在163上发送,要在空间源码上修改}
    {具体去查大富翁论坛}function sendmail(mailsetting:Tmailsetting):string;
    var
    smtp:Tidsmtp;
    mailmessage:Tidmessage;
    begin
    //设置SMTP
      try
      smtp:=Tidsmtp.Create(nil);
      mailmessage:=Tidmessage.Create(nil);
      SMTP.Host := mailsetting.smtpserver; //具体使用的SMTP,可以到你申请的邮箱所在的网站中去找
      if mailsetting.smtpserver='' then
        begin
        result:='SMTP server is null';
        exit
        end;
      SMTP.Port := 25;
      if mailsetting.authentication then
       begin
      smtp.AuthenticationType:=atlogin;
      if (mailsetting.userid='') or (mailsetting.password='') then
       begin
       result:='Authentication option is null';
       exit;
       end;
      smtp.Username:=global_unit.DecodeBase64(mailsetting.userid);    
      smtp.Password:=global_unit.DecodeBase64(mailsetting.password);//
      end
      else
      smtp.AuthenticationType:=atnone;  //设置邮件内容
      MailMessage.From.Address :=mailsetting.sendfrom;
      if mailsetting.sendfrom='' then
       begin
       result:='send from addr is null';
       exit;
       end;
      mailmessage.Recipients.EMailAddresses:=mailsetting.sendto;
      if mailsetting.sendto='' then
       begin
       result:='sendto addr is null';
       exit;
       end;
      MailMessage.Subject :=mailsetting.subject;
      MailMessage.Body.Text :=mailsetting.emailtext;
      except
       result:='other unkown error';
       exit;
      end;
     //发送邮件
      try
        try
          SMTP.Connect(1000);
          SMTP.Send(MailMessage);
           result:='Send mail sucess';
        except on E: Exception do
            result:=e.Message;
        end;
      finally
        if SMTP.Connected then
          SMTP.Disconnect;
        smtp.Free;
        mailmessage.Free;
      end;
    end;{看看能不能帮你}