关于Winsock服务识别远程访问域名的问题?

现在还是人类 2007-04-20 10:40:46
我这段时间想开发一个邮件服务程序,但是在写POP服务时出现了些问题。
我的邮件服务是想支持多域名的,但是POP协议中并没有关于域名的信息,
因为在设计时用户名和密码都是和域名挂靠的,所以必须先识别出域名才
能核对信息。
我尝试过用在公司的WEB服务器上作了一个服务程序,然后在远程这样写:
Winsock2.RemoteHost = "www.域名.com"
Winsock2.RemotePort = 9900
Winsock2.Connect
但是我在服务器的程序读不出RemoteHost属性的值,竟然是空字符,所以
我想问一下,像这种情况如何处理呢?有什么方法可以得到远程访问时的
域名吗?
分不够可以再加,可以加到200分,还请多多帮忙呀。
...全文
994 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2007-05-05
  • 打赏
  • 举报
回复
up
现在还是人类 2007-04-26
  • 打赏
  • 举报
回复
还有,我曾经看过一段代码,是通过域名取得IP地址,然后再用这个IP地址取得MX纪录名称的代码。这是SMTP的一段代码,但这中间有些问题,我的服务器IP地址只有一个,但有好几个域名的A纪录指向他,通过IP地址他怎么知道我要提取的是哪一个MX纪录地址呢?但是那段代码的确取得了我想要得MX纪录名称,我想,是不是用类似的方法可以取得我要的结果呢,呵呵,自己慢慢研究一下吧。
现在还是人类 2007-04-26
  • 打赏
  • 举报
回复
要不这样,大家下一个WinMail来看看,可以用Win2k或Win2003的DNS配置搞几个域名来看看,都指向127.0.0.1,然后在Winmail里将你DNS的域建起来,然后在不同的域下都建立一个相同的用户,密码一样。看看收邮件和发邮件有问题吗?我在真实的环境下搞过,没问题,这就意味着Winmail在用POP时能识别出对方访问时的域名(如:MX.aa.com),我在想是不是通过套接字取得的域名信息,后来研究了一下,好像又不是,那到底是怎么搞的呢?所以我就搞不清楚啦,才想问问。
hjker007 2007-04-26
  • 打赏
  • 举报
回复
你说的什么东西啊,没有dns你哪来的域名啊????不理解,怎么还多个域名对应一个地址???

你是在局域网中做的????


被你说晕了
zyg0 2007-04-25
  • 打赏
  • 举报
回复
.RemoteHost 的属性获得正确信息的前提是有正确的dns服务器支持 如果没有dns服务器支持 你什么域名都是白扯
zyg0 2007-04-25
  • 打赏
  • 举报
回复
你的那台服务器需要有一个正确的dns配置 才能获得 ip对应的域名 ok 如果不行 只能用ip
现在还是人类 2007-04-24
  • 打赏
  • 举报
回复
但是Outlook发送的信息和邮件系统的标记没什么关系呀,Winmail它是怎么区分出Outlook要
接收的是aa.com的abc用户还是bb.com的abc用户呢?
就不说Outlook了,我也写了个程序访问Winmail的POP,我用Winsock连接mail.bb.com
(当然bb.com和aa.com是同一台服务器,MX纪录指的是同一个IP地址)
但是我在Winmail中设置aa.com为默认域名,按道理说在同一个服务器多个域,可以用用户名
和密码来区别出是哪一个域的东西,但是我三个域的用户名和密码都一样,理论上说他识别不
了域应该返回默认域的用户信息,但Winmail返回的却是bb.com里的abc用户的信息,这说明它
能识别出我的程序或Outlook要访问的是哪一个域的用户,它又是怎么识别出来的呢?
daisy8675 2007-04-24
  • 打赏
  • 举报
回复
都跟你说过和邮件系统有关系

拿gmail来说,如果你在线阅读过的邮件,只要你用POP没收下来过,就会再收取一次。

而lotus的,只要你阅读过的邮件,POP就收不下来。要收下来除非变成未读邮件。

你如果非要拿winmail那样的情况说,偶木话了。


偶木研究过winmail。你干脆写个邮件问张小龙得了。
bbbg 2007-04-24
  • 打赏
  • 举报
回复
总不会几个域同时用一个端口吧,这好像不合理哦
hzBool 2007-04-24
  • 打赏
  • 举报
回复
客户端用户必须填写完整
admin@aa.com
admin@bb.com
从用户名中取得域的信息

设置一个默认域
aa.com
admin等同与admin@aa.com
现在还是人类 2007-04-23
  • 打赏
  • 举报
回复
UP
嗷嗷叫的老马 2007-04-23
  • 打赏
  • 举报
回复
哈,莫MM也来了
daisy8675 2007-04-23
  • 打赏
  • 举报
回复
那是因为用户和密码是统一的原因。

POP3收取是跟本身邮件系统做的标记有关系。


xurongtao 2007-04-23
  • 打赏
  • 举报
回复
不懂,帮顶,学习!
现在还是人类 2007-04-22
  • 打赏
  • 举报
回复
是这样的,支持多域名的邮件服务软件我用过,现在也在用,比如Winmail:
它就能支持多个域名还有相同的用户帐号和密码的管理,比如我在
aa.com申请了一个abc的用户,密码是123,同时我也在bb.com也同样申请了
一个abc的用户,密码也是123,我用Outlook收邮件时,收abc@aa.com的邮件
和收abc@bb.com的邮件可以区分出来,说明确实可以区分出域名。
我曾经研究过SMTP协议,发现被人是通过域名得到MX纪录的名称,然后再用
MX纪录名连接服务器的,如Mail.aa.com
只要能识别出对方连接时用的名称,相信问题就解决了,当然,如果直接用IP,
可以作为默认域处理。
daisy8675 2007-04-22
  • 打赏
  • 举报
回复
我个人觉得你这样的想法本身似乎就有问题。

我本身就是邮件管理者。

我可能在一个IP上做2个域绑定一个IP。但是用户是一定相同的。

因为服务器本身的问题。

打个比方www.aa.com,www.bb.com

mx.aa.com=1.1.1.1
mx.bb.com=1.1.1.1

那么实际admin@aa.com和admin@bb.com实际是相等的用户。我的pop3实际上直接连接1.1.1.1然后对admin和password进行验证。

如果要分开的话,那一定是不同的IP上。

至少目前,我没有见过你所说的那种服务设置用户。

如果有那样设置,除非哪个邮件管理员是个傻子。。。

现在还是人类 2007-04-22
  • 打赏
  • 举报
回复
帮顶一下,有分
superpig110 2007-04-21
  • 打赏
  • 举报
回复
关注,我也想知道怎么限制IP
现在还是人类 2007-04-21
  • 打赏
  • 举报
回复
路过的帮顶顶呀,感激不尽
现在还是人类 2007-04-21
  • 打赏
  • 举报
回复
帮帮忙呀
加载更多回复(3)
电子邮件服务器的建立及设置 实验5 电子邮件服务器的建立及设置 5.1 实验目的 了解电子邮件服务器的功能和作用。 熟练掌握一种电子邮件服务器的安装、配置及用户管理的方法。 进一步理解应用层协议。 5.2 实验环境 1.硬件环境 Pentium III 500MHz 以上的微型处理器,以及 256MB 以上内存(推荐计算机 1GHz CPU 和 1GB 内存)。 2.软件配置 Microsoft Windows 9x/NT4/2000/XP以上操作系统 + Internet Explorer 5.0以上版本。SMTP/POP/IMAP 及相关服务需要Winsock TCP/IP 堆栈。 3.网络环境 ISP 提供的互联网访问或局域网环境(仅把 MDaemon 当作一个内部邮件服务器,即不使用它发送和接收外部邮件)。 5.3 准备知识 电子邮件服务是目前Internet上使用最频繁的服务。电子邮件系统不但可以传输各种格式的文本信息,而且可以传输图像、声音、视频等多种信息。 邮件服务器系统的核心邮件服务器负责接收用户送来的邮件,并根据收件人地址发送到对方的邮件服务器中,同时负责接收由其他邮件服务器发来的邮件,并根据收件人地址分发到相应的电子邮箱中。当用户向ISP申请Internet账户时,ISP就会在它的邮件服务器上建立该用户的电子邮件账户,包括用户名(user name)和用户密码(password)。 在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议SMTP;电子邮件程序从邮件服务器中读取邮件时,可以使用邮局协议POP3或交互式邮件存取协议IMAP,它取决于邮件服务器支持的协议类型。配置电子邮件服务器的准备知识如下: 1.相关协议 (1)SMTP(Simple Mail Transfer Protocol):简单邮件传输协议。SMTP是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。 电子邮件服务器的建立及设置全文共12页,当前为第1页。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP的重要特性之一是其能跨越网络传输邮件,即"SMTP邮件中继"。通常,一个网络可以由公用互联网上TCP可相互访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机及其他 LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其他网络之间的邮件传输。 电子邮件服务器的建立及设置全文共12页,当前为第1页。 在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳IP地址。 在传输邮件过程中使用25号端口 SMTP使用模型如图5-1所示。 发送SMTP用户文件系统接收SMTPSMTP命令,应答和邮件内容文件系统接收SMTP发送SMTP 发送 SMTP 用户 文件 系统 接收 SMTP SMTP命令,应答和邮件内容 文件 系统 接收SMTP 发送SMTP 图5-1 SMTP使用模型 (2)POP3(Post Office Protocol 3)。适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称为POP3。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是Internet电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件。 POP适用于C/S结构的脱机模型。脱机模型即不能在线操作,不像IMAP4(Netscape支持IMAP4)。当客户机与服务器连接并查询新电子邮件时,该客户机指定的所有邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无须与电子邮件服务器进一步交互。 (3)IMAP4(Internet Message Access Protocol 4):Internet信息访问协议的第4版本。这是用于从远程服务器上访问电子邮件的标准协议,它是一个客户机/服务器(Client/Server)模型协议,用户的电子邮件由服务器负责接收保存,用户可以通过浏览信件头来决定是不是要下载此信。用户也可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件的特定部分。 2.POP与IMAP的区别 虽然POP和IMAP都是处理接收邮件的,但两者在机制上有所不同。在用户访问电子邮件时,IMAP4需要持续访问服务器;POP3则

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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