一、前提条件

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. 推荐给IT运维工程师必须学习的4本Linux书籍

    我们的人生如游戏,每个人都扮演着不同的角色,有普通玩家.NPC.普通野怪,终极Boss,都有不同的级别之分,我们在技术方面又何尝不是呢,我们大部分人都是普通野怪,遍地都是,很容易被别人虐,没有什么特殊 ...

  2. 阅读MDN文档之布局(四)

    Introducing positioning Static positioning Relative positioning Introducing top, bottom, left and ri ...

  3. JS封闭函数、闭包、内置对象

    一.变量作用域 变量作用域指的是变量的作用范围,javascript中的变量分为全局变量和局部变量 1.全局变量:在函数之外定义的变量,为整个页面公用,函数的内部外部都可以访问. 2.局部变量:在函数 ...

  4. javascript中函数声明与函数表达式的区别

    javascript中声明函数的方法有两种:函数声明式和函数表达式.究竟他们用起来有什么区别呢? 区别如下: (1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. (2) ...

  5. Angularjs Material

    公司用Angularjs Material进行开发,之前在网站上看了一些Demo,做一个学习的整理. 1.新建窗体的数据绑定 1.1修改kendo表格新增页面按钮,添加按钮,并Dialog一个窗体 t ...

  6. 由于用mpu6050模块,所以要用上i2c通信原理。

    i2c通信原理 i2c总线只有两根双向信号线,一根是数据线SDA,一根是时钟线SCL. 每个接到i2c总线上的器件都有唯一的地址,主机与其他器件之间的数据传送可以是由主机发送给其他器件.主机为发送器, ...

  7. jquery html5 file 上传图片显示图片

    jquery js 的代码:不同浏览器下的路径 //建立一個可存取到該file的url function getObjectURL(file) {     var url = null ;     i ...

  8. 【PHP】linux+php5.1.6+mysql5.0.2+apache2.0.55安装配置说明(转)

    linux+php5.1.6+mysql5.0.2+apache2.0.55安装配置说明:一.mysql5.0.2的安装配置过程及说明:1. #tar -zvxf mysql-5.0.2-alpha. ...

  9. ORACLE - 管理控制文件

    在oracle中,控制文件极其重要,如果该文件损坏并在没有备份的情况下,数据库将无法启动,里面的数据也将无法读取恢复,一般情况下,对数据库配置好了以后备份控制文件: 1. 查看控制文件 SQL> ...

  10. 3624: [Apio2008]免费道路

    Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output ...