DELPHI7 用idsmtp 做一个简单邮件发送出问题了, 求解

wojiaoyukai 2011-11-05 08:50:02
我做过了个简单的发送邮件,下面是代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.AuthenticationType:=atlogin;//用atNone不认证也不行
IdSMTP1.Host:='smtp.qq.com';
self.IdSMTP1.Port:=25;
IdSMTP1.Username:='qq号';
IdSMTP1.Password:='密码';//密码保密
self.IdMessage1.Subject:='标题';
self.IdMessage1.Body.Text :='测试';
self.IdMessage1.From.Address:='QQ号@qq.com';
self.IdMessage1.ReceiptRecipient.Address:='QQ号@qq.com';
try
IdSMTP1.Connect;
self.IdSMTP1.Authenticate;
self.IdSMTP1.Send(IdMessage1);
showmessage('发送成功');
finally
IdSMTP1.Disconnect;
end;
end;


但是运行的时候老是出现这个错误:

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EIdProtocolReplyError with message 'Error: need RCPT command
'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

不知道错在哪,我的QQ号开启了SMTP ,防火墙都关了,杀毒软件也关了,还是不行,求帮助啊~~~~~~~
...全文
204 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wojiaoyukai 2011-11-05
[Quote=引用 4 楼 delphiteacher 的回复:]

呵呵,这不清楚,要看返回什么错误了
邮件发送协议有些是需要 STARTTLS的,有些么支持的验证方式不一样等等。。
[/Quote]

感谢
回复
DelphiTeacher 2011-11-05
呵呵,这不清楚,要看返回什么错误了
邮件发送协议有些是需要 STARTTLS的,有些么支持的验证方式不一样等等。。
回复
wojiaoyukai 2011-11-05
[Quote=引用 2 楼 delphiteacher 的回复:]

一般的邮件发送过程为:
EHLO
AUTH LOGIN
MAILFROM 发件人
RCPT 收件人
DATA 邮件内容

以上报错明显就是你没有填写收件人,收件人的属性应该是Recipients
[/Quote
感谢楼上,问题解决了,但是在测试163的时候貌似还是不行,是不是要把idsmtp.pas中的(rect)给屏掉???
回复
DelphiTeacher 2011-11-05
一般的邮件发送过程为:
EHLO
AUTH LOGIN
MAILFROM 发件人
RCPT 收件人
DATA 邮件内容

以上报错明显就是你没有填写收件人,收件人的属性应该是Recipients
回复
bdmh 2011-11-05
need RCPT command
google查查吧,现在很多邮箱都不让直接连
回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1575

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2011-11-05 08:50
社区公告
暂无公告