如何使用Java来调用Notes API发送邮件(包括附件)

做这个确实是费了老鼻子劲了,搜了半天网上都找不到一个靠谱的教程,最后其实还是看Notes的Info Center 完成的. 做完了看,其实也不是很难, 几个需要注意的地方:

  • Import的时候不要用domoin,而要用notes
  • 生成附件的时候用RitchText和embedObject. 我就是在这个上浪费了一天时间. ^_^
package com.ibm.mail;

import lotus.notes.*;


public class NotesJavaSample implements Runnable {
	
	public static void main(String argv[]) {
		NotesJavaSample t = new NotesJavaSample();
		NotesThread nt = new NotesThread((Runnable) t);
		nt.start();
	}

	public void run() {
		try {
			final String mymailserver = "mailserver"; 
			final String mymailfile = "mail6/mymail.nsf"; 

			Session s = Session.newInstance();
			String p = s.getPlatform();
			System.out.println("Platform = " + p);

			Registration reg;
			reg = s.createRegistration();
			reg.switchToID ( "C:/notes/data/myid.id", "mypass" );

			Database db;
			db = s.getDatabase(mymailserver, mymailfile);
			System.out.println("Database title is " + db.getTitle()
					+ " and filepath is " + db.getFilePath());
	
			Document mailmessage;
			
			mailmessage = db.createDocument();
			mailmessage.replaceItemValue("Form", "Memo");
			mailmessage.replaceItemValue("Subject",
					"Testing the Java interface,how should this work for attach");
			mailmessage.replaceItemValue("SendTo",
					"sendto@gamil.com");
			RichTextItem rtitem = mailmessage.createRichTextItem("body");
			rtitem.embedObject(EmbeddedObject.EMBED_ATTACHMENT,
					null, "d:\\notes.txt", "notes.txt");

			mailmessage.save();
			mailmessage.send("sendto@gmail.com");

			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
原文地址:https://www.cnblogs.com/db2zos/p/2328639.html