Java 实现 Domino邮箱自动注册
一、前提条件
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邮箱自动注册的更多相关文章
- Java实现发送邮箱验证码/注册验证链接
本文以163邮箱为例 1.准备(邮箱账号,邮箱必须设置POP3/SMTP/IMAP,设置步骤如下:) >>步骤:1 开启授权码服务 >>步骤:2 手机获取验证码 >> ...
- C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码
C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码 参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...
- JS输入框邮箱自动提示(带有demo和源码)(转载)
今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输 ...
- Spring 自动装配及自动注册的相关配置
Spring支持好几种自动装配(Autowiring)的方式,以及自动扫描并注册Bean的配置(在beans.xml中配置). 下文我们进行一个小结. 1. <context: annotati ...
- 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V4 -- 远程方法调用 整合 Spring 自动注册
网络编程 -- RPC实现原理 -- 目录 啦啦啦 V4——RPC -- 远程方法调用 + Spring 自动注册 服务提供商: 1. 配置 rpc04_server.xml 注入 服务提供商 rpc ...
- JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)
JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...
- JS输入框邮箱自动提示(带有demo和源码)
今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输 ...
- 【jquery】邮箱自动补全 + 上下翻动
最近在做通行证项目,里面注册模块有邮箱注册,需求方想要在输入 @ 后触发下拉框显示各个邮箱,效果如下: html 代码: <!DOCTYPE HTML> <html lang=&qu ...
- Spring 自动注册及自动装配
Spring支持三种注册Bean及装配Bean的方式: 显式地在Java代码中注册及装配 显示地在Xml文件中注册及装配 隐式地装配,即自动注册及装配 这三种方式可以混合使用.选择哪种更多地是看个人品 ...
随机推荐
- Vue 实际项目中你可能会遇见的坑
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
- 修改ElementUI源码实践
提要 Vue2.0+Vuex+ElementUI是现在很多项目都在使用的BS软件的开发组合. Vue相较于Angular具有学习成本低,上手快以及组件轻量化的特点:相较于React,其官方提供的很多指 ...
- 【Vue】详解Vue生命周期
Vue实例的生命周期全过程(图) (这里的红边圆角矩形内的都是对应的Vue实例的钩子函数) 在beforeCreate和created钩子函数间的生命周期 在beforeCreate和created之 ...
- Java项目集成SAP BO
SAP BO报表查看需要登录SAP BO系统,为了方便公司希望将BO报表集成到OA系统中,所以参考网上资料加上与SAP BO的顾问咨询整理出一套通过Java来集成SAP BO的功能. SAPBO中的报 ...
- 字典的定义和操作 (Python)
字典是由key and value 构成,无序结构(不想列表那样有固体位置): note:key 是唯一的,没有重复: 字典可以多级嵌套: 定义: dict1 = { # 由等式构成 dict = { ...
- Android - FEATURE_NO_TITLE
Android设置无标题的方法 在onCreate()中写入: requestWindowFeature(Window.FEATURE_NO_TITLE); 例如: protected void on ...
- 把int型非负数转换为英文
数字转换为英文 输入为int型非负数,最大值为2^31 - 1 = 2 147 483 647 输出为String英文,最大输出为Two Billion One Hundred Forty Seven ...
- 51nod_1639:绑鞋带
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1639 #include <bits/stdc++.h& ...
- 禁止UIWebView随键盘的弹起而往上滚动
问题:当UIWebView中的html有输入框,点击输入框,UIWebView会随键盘的弹起而整体往上移动,收起键盘后,UIWebView无法回到原来的位置; 问题的原因:由于UIWebView继承的 ...
- php+sqlserver实现分页效果
找了一些实现的代码,都或多或少有点问题. 主要问题在于: 在进行一页数据查询时的sql语句格式问题, 开始尝试使用limit关键字查询,错误,limit用于mysql: 接着使用ROWNUM.row_ ...