【发布时间】:2014-06-06 06:23:26
【问题描述】:
假设我的lotus notes中有一封邮件,现在我必须获取该邮件是从哪个IP地址发送的。如何通过java在domino Designer中获取IP地址。是否有任何我可以从中获取的标题信息IP 地址。
我尝试查看文档的属性,但除了我收到邮件的服务器之外,我在其中找不到任何内容,请帮助。
【问题讨论】:
标签: java lotus-notes lotus-domino
假设我的lotus notes中有一封邮件,现在我必须获取该邮件是从哪个IP地址发送的。如何通过java在domino Designer中获取IP地址。是否有任何我可以从中获取的标题信息IP 地址。
我尝试查看文档的属性,但除了我收到邮件的服务器之外,我在其中找不到任何内容,请帮助。
【问题讨论】:
标签: java lotus-notes lotus-domino
Notes 邮件文档有一个“已接收”项,其中包含来自它通过的每个服务器的信息。你不能通过这种方式找到客户端的 IP 地址(我认为这是不可能的),但你至少可以得到服务器的 IP 地址。
虽然从“已接收”项中获取 IP 地址并不容易,因为有多个“已接收”项,并且使用文档的方法,您总是只能获得最后创建的。作为一种解决方法,您必须在一个周期中读取项目并删除项目,以便您获得所有项目“已收到”。这是获取最接近发件人的 IP 地址的 Java 代码:
private String getIPSender(Document doc) {
String ip = "";
if (doc != null) {
try {
while (doc.hasItem("Received")) {
Item item = doc.getFirstItem("Received");
if (item.getValueString().contains("[")) {
ip = item.getValueString();
}
item.remove();
}
if (!ip.isEmpty()) {
ip = ip.substring(ip.indexOf("[") + 1);
ip = ip.substring(0, ip.indexOf("]"));
}
} catch (Exception e) {
ip = "";
}
}
return ip;
}
【讨论】: