如何自动探测POP3和SMTP?(10分)

  • 主题发起人 主题发起人 cntiny
  • 开始时间 开始时间
C

cntiny

Unregistered / Unconfirmed
GUEST, unregistred user!
就像http://www.maildisk.com/ 网络邮盘带的功能那样???
怎么写程序啊?
谢谢`~
 
什么意思?

你要收发邮件吗?
 
是的啊。
举个例子
知道
123@163.com
就可以检测出它的
发信服务器是smtp.163.com
收信服务器是pop.163.com
当然,不是简单的加上pop,smtp什么的
因为有的是一smtp1.XXX.XXX什么开始的
有的根本就不用smtp什么的

 
检测它的端口!一般110是pop
25 is smtp
 
我是问
地址啊
和端口什么关系呢
我不明白
我 连地址都不知道,怎么去检测端口???
 
可以通过DNS获得如16.com的MX地址,一般这些大公司都有几个SMTP对应的服务器地址,在从此可以获得对应的IP地址,即可,非常简单,只要知道DNS服务器就可以查询到
 
procedure TForm1.GetMxlist(AMxlist: TStringlist; AQName: string);
var i: integer;
begin
with IdDNSResolver do
begin
Host := '202.101.107.55';
ReceiveTimeout := 10000;
ClearVars;

with DNSHeader do
begin
Qr := False; // False 代表查询
Opcode := 0; // 0代表标准域名查询
RD := True; //域名服务器可以进行递归查询
QDCount := 1; //查询的数量
end;

DNSQDList.Clear;
with DNSQDList.Add do
begin
QName := AQName; //要查询的域名
QType := cMX; //QTYPE指定要查询的资源记录的种类,值为cMX代表邮件交换记录
QClass := cIN;
end;

ResolveDNS; //向域名服务器发出请求

for i := 0 to DNSAnList.Count - 1 do
AMxList.Add(DNSAnList.RData.MX.Exchange + '=' +
IntToStr(DNSAnList.RData.MX.Preference));
end;
end;
 
这不是匿名发送邮件里的吗?这个可以得到,SMTP和POP服务器吗?
 
POP3不通过MX获得,是SMTP中邮件路由的服务器即MX需要从DNS服务器中得到邮件所对应
的SMTP服务器中的MX地址.
 
那,POP又该如何获得呢?
 
POP3需要指定 比如xxx@email.com.cn好像POP3的地址是www.email.com.cn因此如果你不知道的话,是比较难确定的
 
那就没办法拉啊,呵呵~~谢谢你啊:)
收贴。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部