关于通过dns和MX服务器直接发信的问题!请高手赐教!

sjdf 2003-10-15 01:34:45
首先声明:只是看了《程序员》杂志的那篇文章,不明白,所以问问,和垃圾邮件绝对无关……

不明白的就是如何通过dns找到163的MX记录,还有发信的具体过程是怎么样的。
我试着用foxmail给自己用特快专递发了一封信,在发信的同时用netstat -an得到foxmail连接的ip为202.108.250.35。收信后在信头看到如下信息:(其中425-1为我的机器名,218.11.78.210为我的ip)

Received: from unknown (unknown [192.168.1.35])
by mx8.163.com (Postfix) with SMTP id 1C5DA3
for <sjdf1@back.163.com>; Mon, 13 Oct 2003 15:39:31 +0800 (CST)
Received: from 425-1 (unknown [218.11.78.210])
by 192.168.1.35 (Coremail) with SMTP id WAoAALRWij8BAE7S.1
for <sjdf1@163.com>; Mon, 13 Oct 2003 15:39:33 +0800 (CST)
X-Originating-IP: [218.11.78.210]
From: "sjdf" <mjjify@sina.com>
To: sjdf1@163.com <sjdf1@163.com>
Subject: a test
X-mailer: Foxmail 4.2 [cn]
Mime-Version: 1.0
Content-Type: text/plain;
charset="GB2312"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 13 Oct 2003 15:40:3 +0800
Message-Id: <20031013073931.1C5DA3@mx8.163.com>

是不是里面的mx8.163.com就是那个MX服务器?但是我用nslookup mx8.163.com不能得到它的ip啊,那么foxmail怎样得到它的ip是202.108.250.35?
然后我用telnet 202.108.250.35 25连接上去,显示
220 Coremail SMTP(Anti Spam) System (163com[20030606])
再用helo sjdf
得到250 192.168.1.35
再输入mail from:sjdf1@163.com
结果是550 <sjdf1@163.com>: Invalid User
我想难道要验证?就输入
auth logon
结果说不支持auth……401 This AUTH mechanism not support
哪位高人讲解一下,小弟愚笨,实在是不明白了…… 谢谢!

...全文
225 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipilala 2003-10-27
  • 打赏
  • 举报
回复
支持,顶。
接分。
sevencat 2003-10-24
  • 打赏
  • 举报
回复
不过这个函数只在2K以上版本才支持。
我现在在写这个函数,很麻烦。估计差不多就600行左右了。

首先要生成一个DNSQUERY包(其中的TYPE为MX)
然后通过UDP或者TCP发送出去,最后再接收。

接收到的返回包可能是好几个邮件MX主机,每个前面有个参考数。
后面是地址,
格式如这个
RFC如下:
http://www.ietf.org/rfc/rfc1035.txt
MX RDATA format

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| PREFERENCE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/ EXCHANGE /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


PREFERENCE A 16 bit integer which specifies the preference given to
this RR among others at the same owner. Lower values
are preferred.

EXCHANGE A <domain-name> which specifies a host willing to act as
a mail exchange for the owner name.

MX records cause type A additional section processing for the host
specified by EXCHANGE. The use of MX RRs is explained in detail in
[RFC-974].
现在我写着写着,想直接用微软的dnsquery...
太烦了。
sjdf 2003-10-23
  • 打赏
  • 举报
回复
再顶一次。
sevencat 2003-10-23
  • 打赏
  • 举报
回复
QQ:43791167
EMAIL:hotwangm@Hotmail.com
sjdf 2003-10-23
  • 打赏
  • 举报
回复
楼上的给个联系方式吧?
sevencat 2003-10-23
  • 打赏
  • 举报
回复
DnsQuery( strDomain, DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &ppQueryResultsSet, NULL );具体的RFC我也差不多找到了,不过是到老外的网站上找到的。还没测试,不知道有没有用。
sevencat 2003-10-23
  • 打赏
  • 举报
回复
我现在在写一个MAIL服务器(自己写着玩的)
也碰到了这个问题。
有哪位讲解一下吗?或者提供一下应该参考哪几个RFC?

\n好像telnet按回车就有了(oxoD,0x0A)(\r\n)好像不要自己加的。
ZHENG017 2003-10-23
  • 打赏
  • 举报
回复
auth login\n;
not auth logon;
sjdf 2003-10-23
  • 打赏
  • 举报
回复
再顶一次……55
sjdf 2003-10-22
  • 打赏
  • 举报
回复
已经一个星期了,还没有人解答,郁闷!
难道真的很难吗??
sjdf 2003-10-21
  • 打赏
  • 举报
回复
自己再顶一下。
bb123456789 2003-10-15
  • 打赏
  • 举报
回复
帮你顶!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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