急!!用IdSMTP控件如何接受从SMTP服务器反馈回来的响应状态码??? (200分)

  • 主题发起人 主题发起人 zzybbs
  • 开始时间 开始时间
Z

zzybbs

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大虾,用IdSMTP控件如何接受从SMTP服务器反馈回来的响应状态码?,
并并根据反馈回来的状态码判断邮件发送的结果。200分奉上,要求有源代码,并能执行。
 
郵件的發送過程交互式的,先進行身份驗,再發送Header,再發送Body.具體你可以看看相關的協議,
或者看看IdSMTP的源碼,當然我們使用IdSMTP是很簡單的,設置一些屬性,再用Send(AMsg:TIdMessage)就可以了.
這個發送過程完了之后,作為客戶端的IdSMTP,就完成它的使命(遞交到SMTP服務器成功),郵件就轉為文件保存在
SMTP服務器中,進入轉發隊列,將依據Recipients依次轉交到相應的MX服務器中,這個過程IdSMTP是無法知道的.也就
是我們的郵件發送程序不可能知道轉發的結果.
 
我用idSMTP发送邮件失败后,反馈如下的信息
553 You are not authorized to send mail as >, authentication is required
还有其他如501,503等服务器响应状态码,我的要求是在这些信息弹出之前
先截获,并根据状态码在状态栏中显示出发送失败的原因,恳请高人赐教,谢谢!
 
那是你的SMTP服務器需要驗證,而你的IdSMTP卻選擇了無需驗證的方式.
處理:加上IdSMTP.AuthenticationType:=atLogin;
IdSMTP.UserID:=你有帳號; IdSMTP.PassWord:=你的密碼.
 
to smokingroom:
不好意思,我的邮件发送程序是不需通过中间smtpserver,直接送到对方的,
部分邮件已发送成功,像上面那些代数字的错误信息我已经屏蔽掉了,但还有一些
如‘Connection Closed Gracefully.’之类的信息还未解决,不知怎样才能将这些
反馈回来的信息屏蔽掉。再次期待有人回答。
 
后退
顶部