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 ,防火墙都关了,杀毒软件也关了,还是不行,求帮助啊~~~~~~~
...全文
361 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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查查吧,现在很多邮箱都不让直接连

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧