邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: exchange 2003的免责声明中文变为了问号 [打印本页]

作者: xiangrui    时间: 2008-6-30 11:33
标题: exchange 2003的免责声明中文变为了问号
昨天我按照这篇帖子设置了企业的免责声明,英文显示正常,但是中文全变成了问号。这是怎么回事啊?
http://bbs.winos.cn/thread-35096-1-1.html
作者: yong_1983    时间: 2008-6-30 14:24
标题: 怎样设置邮件免责声明
你说的那个论坛我看了,实现步骤有点麻烦,其实根本不用建第二个SMTP虚拟服务器,我给你一个文档,你看看就知道了,我们公司的免责就是我按照下面步骤做的!

一、先把Exchange SDK下载下来到你的Exchange服务器上安装。下载地址:http://download.microsoft.com/do ... exchangesdkdocs.exe

二、安装好以后到你的Exchange服务器的C:\Program Files\Exchange SDK\SDK\Support\CDO\Scripts目录下新建一个RegEventSink.txt文件,把下面的内容复制粘贴到这个RegEventSink.txt文件中,然后改名为RegEventSink.cmd。
复制此内容:
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@huhu.com"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
(注:上面的*@your-domain-here.com要改成你公司的域名,比如:*@Contoso.msft)

三、把下面的内容复制粘贴到C:\一个新建的EventSinkScript.txt文件中,并改名为EventSinkScript.vbs
复制此内容:
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
  TextDisclaimer = vbCrLf & "郑重声明:" & vbCrLf & "此邮件内容只代表该发件人,与本公司无关."
  HTMLDisclaimer = "<p></p><p>郑重声明:<br>此邮件内容只代表该发件人,与本公司无关."

  If Msg.HTMLBody <> "" Then
   'Search for the "</body>" tag and insert our discliamer before that tag.
   pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
   szPartI = Left(Msg.HTMLBody, pos - 1)
   szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
   Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
  End If

  If Msg.TextBody <> "" Then
   Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
  End If

  'Commit the content changes to the transport ADO Stream object.
  Msg.DataSource.Save ' Commit the changes into the transport Stream

  pEventStatus = cdoRunNextSink
End Sub
</SCRIPT>

四、打开命令提示符,把当前路径转到C:\Program Files\Exchange SDK\SDK\Support\CDO\Scripts下,运行RegEventSink.cmd后完成

  注意:里面的中文内容“此邮件内容只代表该发件人,与本公司无关”你可以自己改的。
作者: xiangrui    时间: 2008-6-30 15:02
谢谢楼上的兄弟,你的方法非常好!非常感谢,我再试试您的方法!如果我安装好了不想使用了,怎么删除它们啊?
作者: yong_1983    时间: 2008-6-30 15:17
标题: 怎样取消免责声明
打开CMD,浏览到 ...\Exchange SDK\SDK\Support\CDO\Scripts ,然后键入以下命令:cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost  
应该没问题!
你的QQ号是多少啊!
作者: xiangrui    时间: 2008-6-30 17:08
我的QQ是327022312,兄弟现在在线吗?
作者: xiangrui    时间: 2008-6-30 17:17
原帖由 yong_1983 于 2008-6-30 15:17 发表
打开CMD,浏览到 ...\Exchange SDK\SDK\Support\CDO\Scripts ,然后键入以下命令:cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost  
应该没问题!
你的QQ号是多少啊!

试过了还是不行。
作者: yong_1983    时间: 2008-7-1 09:50
我这个命令是在微软官方网站上找的,应该没问题,你可以多试几次。
如果还不行,我还有个办法:就是你把“
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
  TextDisclaimer = vbCrLf & "郑重声明:" & vbCrLf & "此邮件内容只代表该发件人,与本公司无关."
  HTMLDisclaimer = "<p></p><p>郑重声明:<br>此邮件内容只代表该发件人,与本公司无关."
这些命令先备份一份,然后故意把原来的改错,随便怎么搞都行,这样命令错了后,免责声明就不会出来了。要是想要,把备份的还原回去就好了!  我这是个没办法的办法!
作者: isa2000    时间: 2008-7-1 17:35
原帖由 yong_1983 于 2008-6-30 14:24 发表
你说的那个论坛我看了,实现步骤有点麻烦,其实根本不用建第二个SMTP虚拟服务器,我给你一个文档,你看看就知道了,我们公司的免责就是我按照下面步骤做的!

一、先把Exchange SDK下载下来到你的Exchange服务器上 ...


好像客户端Outlook使用Exchange模式时这个方法不行啊,使用POP3可以。
作者: yong_1983    时间: 2008-7-2 11:42
客户端用outlook 2003用exchange模式是可以的,我都用过了。
作者: yong_1983    时间: 2008-7-2 12:17
exchange2003中,用OWA是不能实现免责声明
作者: 钉子    时间: 2008-7-2 13:57
1.不知道楼主在6楼说的不行是说像顶楼说的一样收到后被成了问号吗?还是根本主没有声明?
2.根据1楼帖子和2楼的都是能过在SMTP中注册一个Event Sink来实现的.所以这种方式的免责声明是只有邮件经过SMTP后(比如Pop3+smtp方式收发的邮件,从内到外的邮件)才加上的.
作者: xiangrui    时间: 2008-7-2 15:50
原帖由 yong_1983 于 2008-7-2 12:17 发表
exchange2003中,用OWA是不能实现免责声明

通过OWA倒是可以实现免责声明,但是中文显示乱码。
作者: xiangrui    时间: 2008-7-2 15:53
原帖由 钉子 于 2008-7-2 13:57 发表
1.不知道楼主在6楼说的不行是说像顶楼说的一样收到后被成了问号吗?还是根本主没有声明?
2.根据1楼帖子和2楼的都是能过在SMTP中注册一个Event Sink来实现的.所以这种方式的免责声明是只有邮件经过SMTP后(比 ...

1. 不行是指中文显示还是显示问号
2. 我的现在可以实现免责声明,而且使用owa也可以实现免责声明,就是中文免责声明就变成了问号了

[ 本帖最后由 xiangrui 于 2008-7-2 16:02 编辑 ]
作者: 钉子    时间: 2008-7-2 15:57
标题: 回复 13楼 的帖子
据我所知.因为编码的问题,尽量使用英文的免责声明.
作者: xiangrui    时间: 2008-7-2 16:01
原帖由 钉子 于 2008-7-2 15:57 发表
据我所知.因为编码的问题,尽量使用英文的免责声明.

我现在没有办法就把中文部分删除了,只有英文的。还是想知道原因,有没有解决的方法。




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://bbs.5dmail.net/) Powered by Discuz! X3.2