有没有不通过smtp服务器直接发邮件的控件?(50分)

  • 主题发起人 一个过客
  • 开始时间

一个过客

Unregistered / Unconfirmed
GUEST, unregistred user!
idsmtp和nmsmtp都是通过smtp服务器发的,有时候我们找不到一个可靠的smtp服务器,
我知道有些email软件的所谓“特快专递”就是绕开了smtp服务器的。
不过没见过有这样的控件?
 
好象不行啊,“特快专递”也是发到指定的 SMTP
 
其实是自己做smtp服务器

2000的IIS就带了smtp服务

开了服务把smtp服务器设成自己就可以了
 
>>开了服务把smtp服务器设成自己就可以
问题是我不能写一个软件,还要求用户必须装win2000 server啊!
一定要软件(控件)自己带smtp才行。

>>“特快专递”也是发到指定的 SMTP
不对。我们一般发邮件,首先是发送到了我们(nmsmtp)指定的smtp,其实
这是发送给了一个smtp relay server,它负责分拣邮件,把统一目标地址
的信件放在一起,然后根据邮件优先级,分别发送给对方的smtp服务器,
这中间有一个中转的过程。“特快专递”就是直接发送到对方的smtp服务器,
而不经过那个smtp relay server的分拣,所以能快一点。

而我要的就是这种效果,直接发送给对方的smtp。
 
我也想知道
 
各们高手一起来解决这个问题吧。我早就想问这个问题了。GZ!
 
用 SmtpRelayServer 可以做到。
 
ics或者 indy 8.X 中的一个有一个smtp relay 的例子。
填写好一个dns后,就可以不用auth 直接以某个信箱的名义向另一
个信箱发信了。
不过,message 头上 有你的真实IP和计算机名。

我实验过,是可以的。相当与自己模仿一个smtp server ,让其他的
smtp server 认为它接受的信息是from server . not from client.
不过,我不知道对新版本的 sendmail 8.11.X还行不行。
 
>>用 SmtpRelayServer 可以做到。

是控件吗?哪里有下载??
 
利用delphi6的soap技术
找到相应的web servies
好像可以吧
我记得有提供发信功能的web servies
 
坦克兄:看了Indy的例子,感觉很奇怪,没有成功。代码里面关于DNS解析的
地方全被注释掉了,最后用的一个奇怪的地址发信的。 我把注释取消,让他用解析
出来的地址,还是不行,根本解析不出来。

另外,我觉得奇怪的是,这就是所谓的直接发信吗?我平常发信就是这么发的呀!
该不会我平时一直就是在特快专递把,呵呵
 
现在我这里没有环境,没有办法实验。
但是我确实成功发送过。用的是 263 和东方网景的 mail address.
dns :202.196.106.115 还是 202.106.196.115 ? bta 的
smtp都是需要验证的。好象是qmail. imail 两种smtp服务器。至于其他的
sendmail 是否可用我没有验证。
我记得那个例子要输入dns ip. from mail address 目标mail address 就够了。
过几天我再试验下。

还有,我对特快专递不了解,我理解是原来在smtp不需要认证的情况下,
client 通过目的address 解析dns信息 然后得到 MX 记录, 然后直接
连接到目的address 的smtp server ,因为大部分smtp server 可以relay
所以就实现了所谓的特快专递。直接通过目的addresssmtp server 25口
把信件直接送到了目的地址的网络中。当然,绝大部分自己的smtp server
和自己的pop3 server是一个。自然就快了。
在现在的情况下,几乎所有的smtp都需要认证的情况下, 这种方式是不行了。
只有通过把自己伪装成smtp server 这样的一条路了。
不过,我相信,用 不了多长时间,这条路也会被堵住。

不知道我的理解是否正确。请路过的高手指点一二。
 
呵呵,解决方案来了:
去下载Hermes,用Delphi写的,好用,有smtp服务器,还有pop3服务器。
有源代码。用google搜,搜不到,我再发给你。
 
我找到了,但是无法下载,找不到服务器,是不是这个地址?
http://freedownloadscenter.com/Network_and_Internet/Mail_Server_Tools/Hermes_EMail_Server.html
她的主页冶炼不上。你给我发一个把: yggk@21cn.com

 
已发,查收。
 
to :一个过客:
用DNS:202.106.196.115 我试验 成功。
以下是收到的信原始信息:xxx.xxx.xxx.xxx是我的真实IP.
例子程序版本and 路径:INDY/IndyDelphiDemos80_APR252001/source/Indy80/Demos/Delphi/SMTPRelay

Return-Path: <webmaster@263.net>
Delivered-To: sandaitanke@sina.com
Received: (qmail 4477 invoked from network); 15 Oct 2002 01:45:14 -0000
Received: from unknown (HELO RsProxy) (xxx.xxx.xxx.xxx)
by tce-e-7-182-249.bta.net.cn with SMTP; 15 Oct 2002 01:45:14 -0000
From: webmaster@263.net
Subject: tesss 2
To: sandaitanke@sina.com
Sender: webmaster@263.net
Date: Tue, 15 Oct 2002 09:46:36 +0800
X-Priority: 3
X-Library: Indy 8.0.25
 
楼上的,我也下不来,给我发份吧。谢谢你先
816@netease.com
我也在做邮件发送的程序呢。
 
收到了,不过那是一个email服务器的代码阿,我总不能每个软件都附带一个几百K的服务器
吧?不太理想。 其实只要理解SMTP的协议,直接用TClientSocket连接对方服务器就可以的。

坦克兄: 我重新试验了一下,琢磨出TIdSmtp的意思了,那个Host属性,也就是smtp服务器
地址,可以填我们自己的smtp服务器,也可以是对方email地址对应的服务器地址,
而如果我们要特快专递,首先就应该用DNS解析出对方email地址的@后面的名字对应
的IP地址,然后直接用TIdSmtp连接该地址即可。我前面试验不成功,是因为我用的
Indy 9.02的DNS控件有问题,无法解析MX纪录。
 
呵呵。倒是。不过可没几百K那么夸张[:D] 那两个Server类大小不过几千行,嵌进程序一编译,不会增加多大。

当然,能直接解决最好了:)
 
顶部