在JAVA客户端中记录用户电子邮件中的Lotus Notes

时间:2012-10-30 11:29:33

标签: java lotus-notes lotus-domino

我正在写一个莲花笔记插件。我希望Lotus Notes在java客户端内登录用户邮箱。即用户用于在Lotus Notes中签名的电子邮件地址。我的Lotus笔记配置为Gmail帐户,即我使用Gmail帐户使用Lotus笔记发送邮件。

这是我的工作流程:
我在“消息”表单中的“发送”按钮旁边创建了一个动作“我的动作”。当我点击“我的动作”时,它会触发我的JAVA客户端,我必须在其中获取登录的用户电子邮件地址。

所以我的问题是如何获取登录用户的电子邮件?

2 个答案:

答案 0 :(得分:3)

尝试从字段INETFrom获取价值。

请注意,您使用的语言,java,lotusscript,c ++没有区别,您只需要知道备忘录存储Internet地址的项目名称。如果你有LN客户端,你可以使用属性检查备忘录中的所有字段,它也可以帮助很多。

顺便说一句,如果备忘录是从一个Domino用户发送到一个域内的另一个Domino用户(并且它取决于Domino服务器上的设置),则可能是备忘录中没有关于Internet地址的信息。 / p>

如果这样做无效,请尝试使用此代码检查所有项目(这将打印出所有项目,以便您找到有电子邮件的位置):

Vector items = doc.getItems();
for (int j=0; j<items.size(); j++) {
    Item item = (Item)items.elementAt(j);
    System.out.println(item.getName() + " = " + item.getValueString());
}

答案 1 :(得分:0)

由于您更新的问题现已澄清您正在寻找当前登录用户的电子邮件地址,并且您已指定该用户是gmail用户 - 我相信您所询问的是如何获取用户的Gmail地址。那是对的吗?如果我是对的,那么我相信答案是你必须编写一些代码来从他的个人通讯录中读取用户当前的位置文档。为了验证我是否走在正确的轨道上,我建议如下:

  • 在Notes客户端中,查看窗口底部状态栏右侧的位置部分。记下那里出现的位置名称(例如“Office”,“Home”等)。
  • 单击位置部分,然后从弹出菜单中选择“编辑位置...”。
  • 在“首选项”对话框的“选择位置”窗格中,从列表中选择您所在位置的名称,然后单击“编辑”按钮。
  • 单击“基本”选项卡,然后选中:是否在“Internet邮件地址”字段中显示所需的地址?

请在我的上一个要点中将问题的答案作为新评论发布。它就在那里,然后我将继续这个答案的进一步细节。

上一个回答:

如果您正在阅读的邮件是Notes内部邮件,则从一个Notes用户到另一个用户,则发件人姓名 是电子邮件地址。如果发件人是您自己域中的Notes用户,并且您想要他的Internet电子邮件地址,那么您必须在Domino目录中查找它。如果您使用的是Notes / Domino 8或更高版本,则可以在Java代码中使用LookupNames类的lotus.domino.Directory方法。