一、前提条件

Domino服务器需开通DIIOP服务

二、需要导入Java包

import lotus.domino.*;

三、实现Java代码

 public  void cerateID(MailPerson person,Boolean createdb) throws Exception{
String employee_name;
String gonghao;
String pinyin;
String department;
String company;
String position;
String telphone;
String altfullname;
if(person!=null){
employee_name=person.getEmployee_name();
gonghao=person.getEmployee_code()==null?"":person.getEmployee_code().toString();
pinyin=person.getPinyin()==null?"":person.getPinyin().toString();
department=person.getDepartment()==null?"":person.getDepartment().toString();
company=person.getCompany()==null?"":person.getCompany().toString();
position=person.getPosition()==null?"":person.getPosition().toString();
telphone=person.getTelphone()==null?"":person.getTelphone().toString();
altfullname=employee_name+"/"+gonghao+"/"+company;
if(!searchPerson(gonghao,pinyin)){
if(session!=null){
Registration reg = session.createRegistration();
reg.setRegistrationServer(serverName);//服务器名
reg.setCreateMailDb(createdb);
reg.setCertifierIDFile(certidAddress);//cert.id路径
DateTime dt = session.createDateTime("Today");
dt.setNow();
dt.adjustYear(1);
reg.setExpiration(dt);
reg.setIDType(Registration.ID_HIERARCHICAL);
reg.setMinPasswordLength(5); // password strength
reg.setNorthAmerican(true);
reg.setOrgUnit("");//可以为空,中间名
Vector langs = new Vector();
langs.addElement("zh-TW");
langs.addElement("zh-CN");
langs.addElement("zh-HK");
reg.setAltOrgUnitLang(langs);
reg.setRegistrationLog("log.nsf");
reg.setUpdateAddressBook(true);
reg.setStoreIDInAddressBook(true);
//reg.setEnforceUniqueShortName(false);
String mailInternetAddress=pinyin+gonghao+"@dayang.com";
reg.setMailInternetAddress(mailInternetAddress);
String firstn=pinyin;//姓名拼音
String lastn=gonghao;//工号
String idname="";
if("".equals(firstn)){
idname=lastn;
}else{
idname=firstn.substring(0,1)+lastn;//z177223
}
String idfile=useridsavepath+idname+".id";//存储用户ID保存路径
String server=serverName;//服务器名
String middle="";//中间名
String certpw=certidPassword;//cert.id密码
String location="";//
String comment="";//
String maildbpath=useridfilename+"\\"+idname+".nsf";//邮箱数据库文件路径
String forward="";//邮件转发地址
String userpw="password";//用户邮箱帐号默认密码
//outputMessage+="存储用户ID保存路径:"+idfile+"\n";
//outputMessage+="邮箱数据库文件路径:"+maildbpath+"\n";
if (reg.registerNewUser(lastn,idfile,server,firstn,middle,certpw,location,comment,maildbpath,forward,userpw)) {
outputMessage+=pinyin+gonghao+" 邮箱注册成功!\n";
lotus.domino.Document searchdoc=searchPersonDocument(gonghao,pinyin);
if(searchdoc!=null){
searchdoc.replaceItemValue("JobTitle",position);//职位
searchdoc.replaceItemValue("CompanyName",company);//公司
searchdoc.replaceItemValue("Department",department);//部门
searchdoc.replaceItemValue("CellPhoneNumber",telphone);//移动电话
searchdoc.replaceItemValue("AltFullName",altfullname);//
searchdoc.replaceItemValue("AltFullNameLanguage","汉语");//
searchdoc.replaceItemValue("AltFullNameLanguageDisplay","汉语");//
searchdoc.save();
}
//saveMailAccountData(person);
}else {
outputMessage+=pinyin+gonghao+" 邮箱注册失败!\n";
}
}
}
}
}

四,相关参数解析

private static Session session;
private static String ipaddress="192.168.0.XXX";//邮箱服务器ip地址
private static String administratorUser="domino Administrator";//Domino管理员账户
private static String administratorPassword="XXXXXXX";//Domino管理员密码

private static String certidAddress="E:\\Program Files\\IBM\\Domino\\data\\cert.id";
private static String certidPassword="XXXXXXX";//
private static String serverName="domino-server/domino";//服务器名称
private static String useridfilename="mail";//保存用户id文件名称
private static String useridsavepath="E:\\Program Files\\IBM\\Domino\\data\\ids\\";//用户id保存路径
private static String outputMessage="";

Java 实现 Domino邮箱自动注册的更多相关文章

  1. Java实现发送邮箱验证码/注册验证链接

    本文以163邮箱为例 1.准备(邮箱账号,邮箱必须设置POP3/SMTP/IMAP,设置步骤如下:) >>步骤:1 开启授权码服务 >>步骤:2 手机获取验证码 >> ...

  2. C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码

    C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码   参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...

  3. JS输入框邮箱自动提示(带有demo和源码)(转载)

    今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输 ...

  4. Spring 自动装配及自动注册的相关配置

    Spring支持好几种自动装配(Autowiring)的方式,以及自动扫描并注册Bean的配置(在beans.xml中配置). 下文我们进行一个小结. 1. <context: annotati ...

  5. 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V4 -- 远程方法调用 整合 Spring 自动注册

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V4——RPC -- 远程方法调用 + Spring 自动注册 服务提供商: 1. 配置 rpc04_server.xml 注入 服务提供商 rpc ...

  6. JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...

  7. JS输入框邮箱自动提示(带有demo和源码)

    今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输 ...

  8. 【jquery】邮箱自动补全 + 上下翻动

    最近在做通行证项目,里面注册模块有邮箱注册,需求方想要在输入 @ 后触发下拉框显示各个邮箱,效果如下: html 代码: <!DOCTYPE HTML> <html lang=&qu ...

  9. Spring 自动注册及自动装配

    Spring支持三种注册Bean及装配Bean的方式: 显式地在Java代码中注册及装配 显示地在Xml文件中注册及装配 隐式地装配,即自动注册及装配 这三种方式可以混合使用.选择哪种更多地是看个人品 ...

随机推荐

  1. Spark Standalone Mode Configuration

    For currently popular distributed framework Spark, here is the intro and step to configure the spark ...

  2. 角点检测和匹配——Harris算子

    一.基本概念 角点corner:可以将角点看做两个边缘的交叉处,在两个方向上都有较大的变化.具体可由下图中分辨出来: 兴趣点interest point:兴趣点是图像中能够较鲁棒的检测出来的点,它不仅 ...

  3. 单例设计模式 Single

    一些人总结出来用来解决特定问题的固定的解决方案. 解决一个类在内存中只存在一个对象,想要保证对象的唯一. 1 为了避免其他程序过多的建立该类对象.禁止其他程序建立该类对象. 2 为了其他程序可以访问该 ...

  4. java 文件的编码 问题

    package com.io; public class Encodedemo { public static void main(String[] args)throws Exception{ // ...

  5. python基础(2):python的变量和常量

    今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...

  6. 猜年龄---while循环

    #!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Andy Chen age_of_oldboy = 56 count = 0while True ...

  7. C# TryParse()用法

    形式(以decimal为例): decimal.TryParse(str1,out num1) 功能:将str1转化成decimal类型,若转化成功,将值赋给num1,并返回true; 若转化失败,返 ...

  8. 字典的定义和操作 (Python)

    字典是由key and value 构成,无序结构(不想列表那样有固体位置): note:key 是唯一的,没有重复: 字典可以多级嵌套: 定义: dict1 = { # 由等式构成 dict = { ...

  9. 有点难度的JS面试题

    自己总结了一些JS面试题 希望能够帮助正在找工作的程序猿(●´∀`●) 1.js 实现一个函数对javascript中json 对象进行克隆 var oldObject ="sdf" ...

  10. (转)每天一个linux命令(27):linux chmod命令

    场景:在项目部署过程中经常需要给不同目录授权! 1 简介 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设 ...