解决Internet HTML邮件中图片显示为红叉(X)的问题

Lotus Notes在Linux,Mac OS, Windows平台上,5.0以及以上版本可能会碰到下面的问题:

当你的Lotus Notes®客户端从Internet上收到一封电子邮件,好比说新闻邮件,其中的图片会显示成一个个红色叉(“X”),你可能注意到在客户端的状态栏中显示以下的信息:

    "Document p_w_upload is invalid." (Lotus Notes 5)
    "Image or Object not found on server/"  (Lotus Notes 6)

消息中可能还包括一些嵌入图片,这些图片没有正常显示,而是显示为红色的叉(X)。

这个问题的缘由是:

在Notes客户端中,关于红叉图片的最主要的问题是图片是否可被访问。

Notes客户端使用"perweb"进程向一个特定的服务器请求图片资料(不管本地的浏览器采用什么设置)。这将会从Internet上获取图片信息。例如,一封Yahoo的新闻邮件可能引用以下图片:

"Perweb"是一个用于获取图片的进程(下文有更多相关的信息)

注意: 使用一个无效的代理服务器也会致使这个问题。

解决方法:

下面的步骤将会解决大该90%的红叉问题.

1. 肯定图片是否可被访问。这能够经过测试微软的Internet Explorer™ (IE)是否能够访问网络来肯定。若是您能够查看HTML消息的源代码,从中摘取一些图片引用信息,而后使用IE(Notes外的)来访问他们,以测试计算机是否能够访问这些图片。

若是能够的话,那么就意味着计算机是能够访问这些图片的。如今让咱们来查看Notes是否能够访问那些地址。.

2. 肯定一个丢失的图片是否做为一个嵌入式图片附在文档中或者它被一个图片引用文件所引用。右击文档,选择“Document Properties” --> “Fields” 页--> 查找 "$File". 查看它的属性是不是一个图片文件。若是邮件中包括了一个丢失的图片,请参考下面的文档:

-- 文档#1108466, "Internet Messages Arrive with Attachments or Body Parts That Appear Missing or Are Inaccessible."

-- 文档#1109097, "Notes client does not render an p_w_upload for users with 'No Preference'/'Keep in Sender's Format' as mail storage preference."

在 6.5.4以前的Notes版本有一个问题,用户的我的姓名和地址簿(NAB)中须要包括交叉认证信息,以用于绘制某些须要额外认证的图片。对于6.5.4 以及之后的版本,会给用户弹出一个针对图片所在服务器的交叉认证界面。 文档#1196889,"Users are not automatically prompted to 'Retrieve Internet service certificate' when p_w_picpaths in HTML do not display" 描述了这个问题。

3. 设置Location文档,设置Notes为默认的浏览器,而后输入指向图片的URL(做为测试, 你可输入一个网址,例如 "www.yahoo.com"). 你能够经过下面的步骤来设置:打开当前的Location文档(File --> Preferences --> Location Preferences),打开“Internet Browser”页,找到"Internet browser" 字段,将其设为"Notes"。.

-- 在一些状况下, 这个设置已经足够了。 对于一些 Notes 5.0 客户端, 进程perweb从未被激活,所以第一次请求其实是将功能进行恢复。

-- 在其余的状况下,这可能不起做用,在文档中可能会有更多的红叉。此时查看进程perweb是否正在运行,必要的话使其从新生成。

4. 若是步骤3仍是没有解决问题, 查看IE 中的“LAN settings”中是否启用了代理服务器。若是启用了,在Notes中的Location文档中输入相应的代理服务器信息。 错误的代理服务器设置(例如伪地址127.0.0.1,他并无代理功能)将会致使红叉,由于客户端并不知道到哪儿去获取图片。在Location文档是设置完代理以后,在Notes里再试URL。

若是上面的方法不起做用,这儿有一些其余的解决步骤:
他们并不须要按顺序执行。

* 从Notes\Data 目录中删除perweb.nsf,同时在全部的Location文档也删除有关的设置 (打开Location 文档--> Advanced 页--> Web Retriever 页--> Web Navigator database 字段).

* 清除浏览器的缓存和临时网络文件.

* 从其余没有这个问题的工做台上拷贝文件names.nsf到Notes\Data 目录,同时调大TCP/IP 超时值,该设置存在于User Preferences--> Ports中。
,
关于代理服务器的系列步骤:

1. 在Location文档--> Basics 页, 点击“代理”字段旁边的小按钮

2.  确信选项 "Use same proxy for all of the above,"被选中

3.  对于从Internet中收到的信,经过View --> Show --> Page Source,打开邮件的源码页

-- 找到丢失图片的URL,点击它或者将其拷贝/粘贴到地址栏
-- 若是连接能够打开并且图片能够显示,查看源码中HTML部分下面的内容
-- 若是URL中包括空格,它就是错误的格式,也就是它引发了问题

邮件的发送者或者建立者若是想在其中包括空格的话,应该将其写成"%20" . 若是直接访问URL,Notes 和IE 会自动添加 %20. 由于Notes 客户端会试图显示HTML,它会寻找HTML部分, 试着跟着输入中的连接部分,并停在第一个空格处。

咱们为这个问题建立了软件问题报告SPR# DCHR6TKTKJ (包括带有空格的URL的HTML邮件将会显示为红色的方块) ,可是结果表示它不是Notes中的软件问题,而是邮件发送端的HTML编码问题。

临时解决方法是在IE中查看该邮件 或使用符合URL相关的网络标准RFC1738的发送程序。

关于认证代理的例子
下面的例子只与认证代理相关.

只有Notes 6.0 及以上版本和5.0.10 及以上版本支持认证代理. Notes 6.0 客户端能够在Location文档中存储认证设置, 而5.0 客户端在每个Notes会话中弹出一次认证信息。

主要对于Notes,微软的NTLM (Windows® domain authentication / Microsoft security's protocol)代理是不支持的. 该协议是微软在它的产品系列(IE, Outlook®, Windows login)中使用的一个私有协议(相似于NRPC).

如今对于NTLM支持的一个好的现象是,Notes能够打开IE并显示认证提示窗口,上面会有三个文本框(用户名,密码和域). 可是在客户端,不管花多大的力气去试图登陆,依然会显示红叉。

对于这个问题的一个临时解决方法是禁止NTLM 认证. 在弹出界出显示时,你不能在Notes中为用户输入 domain\username. 在一个单独的服务器上,它是服务器工具(Administrative tools)中的IIS(Internet Information Server)设置。你须要确信域认证已经被禁止了。

在有些状况下,一些代理服务器用于中止和从新评估用户登陆。这会致使如下的问题:你最初能够查看HTML图片,但在下次你打开同一封邮件中会看到它们变成了红叉或者红色的[p_w_picpath] 占位符。

关于该问题的更多的信息和解决方案,请参考 文档#1153566, "Notes continues to proxy bad authentication credentials for each in HTML message. 关于要求我的Web浏览器支持NTLM认证的功能改进,咱们已经向质量工程部门提交了软件问题报告,号码是SPR# CPON63XH2A.  
相关文章
相关标签/搜索