请问Kevinwen(壮志凌云),局域网内自己写的邮件程序通过exchange服务器邮件外发的问题

LouisJJW 2002-02-03 08:50:53
请问Kevinwen(壮志凌云),我也遇到了有关exchange的问题,请您指点:
在一个局域网内,用exchange server 作服务器,在每个客户端均有一个outlook express,在任何客户端,使用outlook 收发内/外部邮件都没有问题,我现在自己编了一个客户端邮件收发程序,在接收时不会出错,发送到内部邮箱也不会出错,但是在发送到外部的邮件服务器上时出错:NO valid ricipant. 好像是说他不能识别外部邮件地址。您说这是什么原因? 请您帮帮我,这个问题困扰我多时。
---(我用的delphi写的,使用了Tnmsmtp控件)
...全文
320 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LouisJJW 2002-02-22
  • 打赏
  • 举报
回复
Kevinwen(壮志凌云),您在哪呀? ? ?
LouisJJW 2002-02-04
  • 打赏
  • 举报
回复
Dear Kevin,
Thank you for you attention. Now i'm in net-House where there is no floppy-driver,So i cann't provide you my sample code. Now i tell you the detailed information about my Programe and the configuration of Exchange server:

LAN: Exchange server,2000+Outlook Express2000+Windows2000
My Programes: Delphi6+Window2000.

TNMsmtp:
ReportLevel = 0
EncodeType = uuMime
ClearParams = True
SubType = mtPlain
Charset = 'us-ascii'

下面是发送部分代码: // 省去了异常处理代码
With NMSMTP1 do
begin
if connected then disconnect;
Host :=SMTPAddress;//我填的是局域网的服务器上的邮件服务器地址,是一个ip址址
Port :=25;
UserID :=trim(eUserName.text); // 在此邮件服务器上申请的邮箱的用户名
Password:=trim(ePassword.text) // eUserName,ePassword---TEdit 控件
try
Connect;
except
showmessage('不能连接服务器!');
exit;
end;
PostMessage.FromAddress :=UserMailAddress; //发送者地址
PostMessage.FromName :=UserName; //发送者姓名
PostMessage.Subject :=ETitle.Text; //主题
PostMessage.ToAddress.Add(EReciever.Text); //接收人地址
PostMessage.Body.Assign(Body.Lines); //主体内容
try
SendMail;
except
showmessage('发送邮件失败!');
exit;
end;
DisConnect;
end

运行后报错: No valid recipient。

注:我的程序不到这个局域网里面运行,在外面运行,通过拨号上网,一点问题都没有。
在这个局域网里,客户端均有一个outlook express 用它发送和接收都没有任何问题,
无论是往局域网内部还是往外部发,只是对极少的服务器上发来的邮件有乱码,

我的分析:
我的程序在从这个局域网的邮件服务器上接收邮件和发送邮件到这个局域网的邮件服务器上时,也不会出任何问题,接收邮件:只需登录到局域网的服务器上,发送邮件:发送到局域网的邮件服务器上也只需登录到局域网的服务器上,但是发送邮件到外部的邮件服务器
就有问题(如263.net,163.net等)我觉得好像是 TNMSMTP的问题,TNMSMTP 封装了Connect和SendMail 方法,对于程序员来说:WinSock与邮件服务器的通信是透明的,好像是WinSock 在第一次握手时就被局域网上的网关还是什么东西阻住,无法与外部的邮件服务器建立连接,TNMSMTP 封装的connect 方法好像存在问题,可能还要设置什么东西,不知通过outlook express 发送邮件时,Exchange server在与外部的邮件服务器建立连接时其具体过程时怎么样的?

-----Louisling
Kevinwen 2002-02-03
  • 打赏
  • 举报
回复
Hi,

The error message does not seem to come from Exchange serve. To verify this, you can use the network monitor to capture the traffic between your workstation and server, find out the accurate problem.

If you can provide me the sample code and your environment, such as exchange server version, service pack version and OS/service pack verion, I will try to verify it for you.

-Kevin.
我第一次看谭老师的《C 程序设计》,是 20 年前,那时我 17 岁,大学一年级。当时感觉这本书很 神奇,对编程充满了好奇。同时也感觉这本书有些难,有些地方,比如指针,虽然看过书,也有老师 讲过了,但依然感觉似懂非懂。还有些知识,书中只讲了怎么做,但没有讲为什么要这么做,比如为 什么所有的 C 程序都要有一个 main()函数呢。 就这样,带着一些无伤大雅的困惑,时光流过 20 年。 2011 年初,我在书店无意中看到《C 程序设计》已经出到了第四版。并且在书的封面上印着 1100 万册的销量数字,视觉效果十分震撼。我想这大约意味着有 1100 万人已经读过了这本书,其中想必会 有一些和我一样在读书中遇到困惑的读者吧。 考虑到 1100 万的基数,我想遇到困惑的读者大概也不在少数。考虑到这本书几乎是所有大学新生 所接触的第一本编程书,其意义和重要性非同小可。这样一想,此事未免让人放心不下。想来想去, 我决定做点什么,为这些人做些什么,为这本书做些什么,从而让这本书变得更好,让它的广大读者 中有困惑的那部分能减少一些困惑。 想到古典名著多有注解、译文和批注,来帮助看不懂文言文的读者更好地理解这些经典的古典名 著。那么,我为什么不为《C 程序设计》这本计算机的经典名著来出一本注解和批注的书呢?把原书 中没有讲透彻没有讲明白的那些概念、知识和技术点来认认真真地讲讲清楚。进而又想,既然已经走 到了注解和批注的地步,那就不妨再往前走得更远一些吧,把原书中遗漏的、忽视的、错误的,以及 那些未曾涉及的但作为初学者或称为未来的程序员绝对应该知道的基础知识和素养一并讲讲清楚。因 为,有些错误的认识会对初学者产生深远的影响。 这本书因《C 程序设计》的存在而诞生,它是对《C 程序设计》这本书的强有力的注解和补充。 如同擎天柱和天火合体后,能够冲天高飞壮志凌云,这本书将成为《C 程序设计》的强劲的喷气引擎。 在语言风格和表现形式上,这本书比《C 程序设计》更加的有趣、更加的通俗易懂。在内容上, 这本书比《C 程序设计》更加的深刻、更加的透彻,具有更加广阔的视野和更加深厚的内涵。在实用 性上,这本书比《C 程序设计》更加的实战,可以让你养成良好且符合业界标准的编程习惯和编程思 1 C 程序设计伴侣 想,为今后的继续前行打下必要而优秀的基础。同时,由于这本书对概念、知识和疑难点讲解地非常 透彻,因此,这本书也会助你轻松通过 C 程序设计课程的考试。 我把这本书, 命名为—— 《C 程序设计伴侣》。

536

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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