我用的是idsmtp控件,但不知道它的host属性怎么设置的,具体指的是什么?能否用代码直接分析得到,而无需人为输入HOST。做过电子邮件的人帮帮忙啊。
    不胜感激!

解决方案 »

  1.   

    能不能把代码写出来呀,我用的是delphi2005找不到实例呀。帮帮忙呀
      

  2.   

    以下是我的代码,一运行到连接的地方就出错了,不知道是什么原因,求高手们指导,分数不够可以加的
    procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
    //  构建邮件  idmessage1.Body.Assign(memo1.Lines);
      idmessage1.From.Address :=edit3.Text;
      idmessage1.Recipients.EMailAddresses:=edit1.Text;
      idmessage1.Subject:=edit2.Text;
    //初始化SMTP属性
      idsmtp1.Host:=edit1.Text ;
      idsmtp1.Port:=25;
      idsmtp1.Username:='qihang-521';
      idsmtp1.Password:='821021';
    //连接smtp服务器
       try
          idsmtp1.Connect;
       except
          begin
          showmessage('无法连接到服务器');
          exit;
          end;
       end;
    //身份验证
       if idsmtp1.Authenticate then
          try
          idsmtp1.Send(idmessage1);
          showmessage('发送完毕');
          except
          showmessage('发送失败');
          end;
       idsmtp1.Disconnect;end;
      

  3.   

    procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
    //  构建邮件  idmessage1.Body.Assign(memo1.Lines);
      idmessage1.From.Address :=edit3.Text;
      idmessage1.Recipients.EMailAddresses:=edit1.Text;
      idmessage1.Subject:=edit2.Text;
    //初始化SMTP属性
      idsmtp1.Host:=edit1.Text ;   //smtp.xxx.com
      idsmtp1.Port:=25;
      idsmtp1.Username:='qihang-521';
      idsmtp1.Password:='821021';
      
    //连接smtp服务器
       try
          idsmtp1.Connect;
       except
          begin
          showmessage('无法连接到服务器');
          exit;
          end;
       end;
    //身份验证
       if idsmtp1.Authenticate then
          try
          idsmtp1.Send(idmessage1);
          showmessage('发送完毕');
          except
          showmessage('发送失败');
          end;
       idsmtp1.Disconnect;end;
    //以下的是我的
      idsmtp1.Host:=edit1.Text ;   //smtp.xxx.com
      idsmtp1.Port:=25;
      idsmtp1.Username:='qihang-521';
      idsmtp1.Password:='821021';
      idsmtp1.AuthType := atDefault;    try
          IdSMTP1.Connect();
          if not IdSMTP1.Connected then
          begin
            ShowStatusText('连接SMTP服务器失败!');
            sSendPaths.Free;
            conMail.Free;
            Exit;
          end;
          ShowStatusText('连接SMTP服务器成功!');
          if not IdSMTP1.Authenticate then
          begin
            ShowStatusText('未通过SMTP服务器验证!');
            IdSMTP1.Disconnect;
            sSendPaths.Free;
            conMail.Free;
            Exit;
          end;
          ShowStatusText('通过SMTP服务器验证!');
          IdSMTP1.Send(IdMessage1);
          Application.ProcessMessages;
        except
          Application.MessageBox('发送失败!请稍候再试一次,如仍不能成功请联系管理员。', '发送失败', MB_OK);
          IdSMTP1.Disconnect;
          sSendPaths.Free;
          conMail.Free;
          Exit;
        end;
        //  Hide;
        IdSMTP1.Disconnect;
      

  4.   

    呵呵,host设置错了,那怎么粘贴附件呀?