如何从莲花笔记中发送每封邮件的地方获取ipaddress

时间:2014-06-06 06:23:27

标签: java lotus-notes lotus-domino

假设我的莲花笔记中有一封邮件,现在我必须从哪个IP地址获取邮件发送。如何通过java获取多米诺设计师的IP地址。是否有任何标题信息,我可以从中获取IP地址。

我试着查看文档的属性但除了哪个服务器我收到邮件之外我找不到任何东西请帮忙。

1 个答案:

答案 0 :(得分:2)

Notes邮件文档有一个项目"已收到"其中包含来自每个服务器的信息。你无法通过这种方式找到客户的IP地址(我认为这是不可能的)但你至少得到了服务器的IP地址。

从项目#34获得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;
}
相关问题