Nmstp.connect 报错:Host lookup failed!(100分)

  • 主题发起人 iwantflywithwin
  • 开始时间
I

iwantflywithwin

Unregistered / Unconfirmed
GUEST, unregistred user!
主代码如下:
nmstp1.host:='www.163.com';
nmstp1.userid:='abcd'//abcd 是abcd@163.com免费信箱用户;
nmstp1.connect;
 
host 写错了,改成'smtp.163.com'看看!
 
我改过试了,还是不行,现在好像好多网站的smtp也是要验证的?是不是这个原因?
如何解决?好像Nmstp没有密码一项。
 
在线等待
 
有对smtp传输协议熟悉的,请不吝赐教
 
端口是否正确,smtp服务器的端口是25
 
port是25,错误依旧
 
你把代码都贴出来吧,包括dfm窗体的。

另外,163免费邮件已经开通smtp认证了,这点nmsmtp组件不支持的,你还是准备换成indy吧!

Host lookup failed错误跟认证无关,是无法找到主机(smtp server)。
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Psock, NMsmtp;

type
TForm1 = class(TForm)
NMSMTP1: TNMSMTP;
Label1: TLabel;
host: TEdit;
L_userid: TLabel;
userid: TEdit;
Label2: TLabel;
password: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure NMSMTP1ConnectionFailed(Sender: TObject);
procedure NMSMTP1Success(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
NMSMTP1.Host:=host.Text;
NMSMTP1.UserID:=userid.Text;
NMSMTP1.Port:=25;
NMSMTP1.Connect;
end;

procedure TForm1.NMSMTP1ConnectionFailed(Sender: TObject);
begin
showmessage('Fail!');
exit;
end;
procedure TForm1.NMSMTP1Success(Sender: TObject);
begin
showmessage('success');
end;
end.
现在只是测试连接部分
 
顺便问一下:indy控件在那里有下载?有没有使用说明
 
我下载了indy
 
代码应该是没有错误的

Delphi6自带Indy组件包
 
IdSMTP1.Host:=host.Text;
IdSMTP1.UserId:=userid.Text;
IdSMTP1.Password:=password.Text;
IdSMTP1.Connect;
现在报socket error
 
我估计是你的运行环境有问题,dns是否设置正确了?socket error的错误号和错误信息是什么?
 
socket error的错误号 #1101
dns如何设置?
谢谢这段时间对我的指教
 
接受答案了.
 
顶部