如何制作需要身份验证的邮件收发程序(100分)

S

szkxy

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用过NMSMTP但是它不支持需要验证身份的邮件服务器,我也试了IdSMTP,但是我把AuthenticationType设为atLogin后也不行,虽然没提示错误,但对方却收不到邮件!
 
我也挺为这个问题感到困惑。
如果要求SMTP验证,那么远端发过来的邮件也要求验证岂不发不进?
我看可能需要理解一下协议。
 
建议直接找到对方邮件服务器IP地址,可直接发送。
 
如何直接发送到对方邮件服务器!
 
通过indy的IdDNSResolver解析出ip地址。
 
topsuper,能否给我源代码?我很急的,我用了INDY但就是发不出去,把网上的特快专递例子
下载后运行虽然不出错,但仍然未收到,配置与OutLook 的一样,我用的是
21cn.com发到21cn.com
 
一:我用的应该与你一样。可能是邮件服务器的问题。
建议你换一个服务器,如sina.com ,sohu.com.cn之类的。有的服务器在接到后有一个延时。
二:
以我的经验,一个邮件服务器向本身发数据多半会出错。
你可以用一个不存在的email来代替发件人的地址。
三:
如果还有问题建议你可以telnet上21cn的邮件服务器
模拟一次发送过程,你可能会发现错误的原因。
不过不会超出我说的范围。
四:
有问题在联系!
 
用ics2000,很好用的,我写了好几个邮件发送程序都是用的这个,支持smtp身分认证,
但认证步骤要符合rfc,需要的话给你例子!
 
topsuper,我通过直接发送到对方IP的方法可以了,不过好像不太稳定,因为我在跟踪调试时
发现经常会超时,但我仍不明白为什么我做的会发不了,我也试过用sina.com发给21cn.com,
但结果一样,而且发了很多次.
ndust,你说的ics2000是Delphi的控件吗?能否把你的例子发给我试试,szkxy@21cn.com
 
将IdDNSResolver的属性中的recevietimeout和其他的与timeout相关的设置长一些。
我说过,将发件人的地址设为一个虚拟的或不存在的如a11@bbb.com,收件人地址设为sina.com
21cn邮件服务器可能有问题。
 
indy就行
 
谢谢大家,我现在终于能发邮件了.
 
说说你不能发的原因#!
 
我现在采用直接发到对方IP的方法
 
你一直不是采用这种方法的吗?
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
958
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部