Java Web Service获取smtp电子邮件地址格式

时间:2017-12-06 20:47:02

标签: lotus-domino

我有一个java Web服务。基础注释db的表单具有“names”类型的字段。定义的视图包含所有这些名称的列表。在Web服务中,定义了一个函数,返回该人的电子邮件地址,并给出其名称。我们最近将我们的电子邮件从LotusNotes迁移到outlook,因此我们需要此例程以标准smtp格式(jdoe@domain.com)而不是规范格式返回电子邮件地址。目前的代码如下:

public String getSalespersonCommonName(String salesperson)抛出异常{

    try 
    {
        View salespersonView;
        DocumentCollection docs;

        d = s.getCurrentDatabase();

        if (d != null) {
            // get the salesperson
            salespersonView = d.getView("vAllSalespersons");

            docs = salespersonView.getAllDocumentsByKey(salesperson);

            if (docs.getCount() > 0)
            {
                doc = docs.getFirstDocument();

                return doc.getItemValueString("Salesperson");

            } else {
                return "";
            }

        } else {
            return "";
        }

    } catch (Exception e) {
        throw e;
    }

}

1 个答案:

答案 0 :(得分:2)

您需要在Domino目录中按名称查找用户,并从那里获取SMTP地址。 Directory.LookupNames()方法是"官方"这样做的方法,因为它可以自动使用多个目录,但我已经看到很多实现直接访问names.nsf中的视图。

但首先,您必须确保用户的Outlook SMTP地址实际上已输入Domino目录,并且您必须知道它已输入的字段。如果Outlook SMTP地址与其旧的Domino SMTP地址不同,则在转发地址字段中输入Outlook地址是相当常见的做法。