Agente domino en Java para enviar MIME con attachment
Alguien ha hecho un agente para domino en java, que envie un correo en MIME y tenga attachment? o se adjuntos???
Tengo una aplicación que interactua con domino Server y un Agente...
Parte Aplicacion: crea un documento, le llena informacion y se lo pasa al Agente domino...por DIIOP domino R6
//Despues de haberse conectado y aboerto sesion con el Domino Server
Document doc = db.createDocument();
doc.replaceItemValue("Sendto", destinatario);
doc.replaceItemValue("Subject", titulo);
doc.replaceItemValue("CopyTo", copia);
doc.replaceItemValue("BlindCopyTo", copiaoculta);
doc.replaceItemValue("mensaje", mensaje);
doc.replaceItemValue("adjunto", adjunto);
doc.save(true, false);
String noteID = doc.getNoteID();
Agent ag = db.getAgent("amime");
//corre el agente
ag.runOnServer(noteID);
//cierra conexiones
ag.recycle();
doc.recycle();
titulo = null;
adjunto.clear();
destinatario.clear();
copia.clear();
copiaoculta.clear();
mensaje = null;
Agente en el Domino Server:
import lotus.domino.*;
import java.util.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
//Abrir sesion
Session s = this.getSession();
AgentContext ac = s.getAgentContext();
Database db = ac.getCurrentDatabase();
Agent ca=ac.getCurrentAgent();
//Recibe el documento que se le ha pasado como parametro
String noteid=ca.getParameterDocID();
if((noteid!= " ")&(noteid!=null)){
Document pDoc=db.getDocumentByID(noteid);
if(pDoc!=null){
Document memo = db.createDocument();
memo.replaceItemValue("Form","Memo");
//Saco datos del documento recibido como parametro....
String titulo=pDoc.getItemValueString("Subject");
memo.replaceItemValue("Subject",titulo);
Vector destinatario=(Vector)pDoc.getItemValue("Sendto");
Vector copia=(Vector)pDoc.getItemValue("CopyTo");
memo.replaceItemValue("CopyTo",copia);
Vector copiao=(Vector)pDoc.getItemValue("BlindCopyTo");
memo.replaceItemValue("BlindCopyTo",copiao);
//Vector vanexo=(Vector)pDoc.getItemValue("adjunto");
// No convertir mime a Rich Text
s.setConvertMIME(false);
Stream stream = s.createStream();
MIMEEntity body = memo.createMIMEEntity();
//----------------
//configuracion del contenido para aceptar multiples componentes
MIMEHeader header = body.createHeader("Content-Type");
header.setHeaderVal("multipart/mixed");
//anexo de grafico
MIMEEntity child = body.createChildEntity();
header = child.createHeader("Content-Disposition");
header.setHeaderVal("attachment; filename="monacho.gif"");
stream.writeText("R0lGODlhHAALAKEAAAAAAP/WAP///wAAACH5BAEAAAIALAAAAAAcAAsAAAJAlI+paxHnHorQqQAkjjzDTDWAt43m1jmeiGZgBMaqJLTl+Nj2l+Mv6+rRNkCOykWyNJQ1jOllrK0YRmYixMhqCwA7");
child.setContentFromText(stream, "image/gif",MIMEEntity.ENC_BASE64);
stream.truncate();
//anexo de texto attachment
child = body.createChildEntity();
header = child.createHeader("Content-Disposition");
header.setHeaderVal("attachment; filename="carreta.txt"");
stream.writeText("Este es el texto de mi archivo n y demas cosas...blablabla...y demas carretas... .");
child.setContentFromText(stream, "text/plain",MIMEEntity.ENC_NONE);
stream.truncate();
//cuerpo del correo
String mensaje=pDoc.getItemValueString("mensaje");
child = body.createChildEntity();
stream.writeText(mensaje);
child.setContentFromText(stream, "text/html",MIMEEntity.ENC_NONE);
stream.truncate();
//-----------------
//Envio del documento
memo.send(false,destinatario);
s.setConvertMIME(true); // Restore conversion
}
}
ca.recycle();
db.recycle();
ac.recycle();
s.recycle();
}catch(NotesException n){
System.out.println("Error en Agente "+n.id);
System.out.println("Error mensaje: "+n.text);
}catch(Exception e) {
System.out.println("Error e: "+e.getMessage() );
}
}
}
Parte Aplicacion: crea un documento, le llena informacion y se lo pasa al Agente domino...por DIIOP domino R6
//Despues de haberse conectado y aboerto sesion con el Domino Server
Document doc = db.createDocument();
doc.replaceItemValue("Sendto", destinatario);
doc.replaceItemValue("Subject", titulo);
doc.replaceItemValue("CopyTo", copia);
doc.replaceItemValue("BlindCopyTo", copiaoculta);
doc.replaceItemValue("mensaje", mensaje);
doc.replaceItemValue("adjunto", adjunto);
doc.save(true, false);
String noteID = doc.getNoteID();
Agent ag = db.getAgent("amime");
//corre el agente
ag.runOnServer(noteID);
//cierra conexiones
ag.recycle();
doc.recycle();
titulo = null;
adjunto.clear();
destinatario.clear();
copia.clear();
copiaoculta.clear();
mensaje = null;
Agente en el Domino Server:
import lotus.domino.*;
import java.util.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
//Abrir sesion
Session s = this.getSession();
AgentContext ac = s.getAgentContext();
Database db = ac.getCurrentDatabase();
Agent ca=ac.getCurrentAgent();
//Recibe el documento que se le ha pasado como parametro
String noteid=ca.getParameterDocID();
if((noteid!= " ")&(noteid!=null)){
Document pDoc=db.getDocumentByID(noteid);
if(pDoc!=null){
Document memo = db.createDocument();
memo.replaceItemValue("Form","Memo");
//Saco datos del documento recibido como parametro....
String titulo=pDoc.getItemValueString("Subject");
memo.replaceItemValue("Subject",titulo);
Vector destinatario=(Vector)pDoc.getItemValue("Sendto");
Vector copia=(Vector)pDoc.getItemValue("CopyTo");
memo.replaceItemValue("CopyTo",copia);
Vector copiao=(Vector)pDoc.getItemValue("BlindCopyTo");
memo.replaceItemValue("BlindCopyTo",copiao);
//Vector vanexo=(Vector)pDoc.getItemValue("adjunto");
// No convertir mime a Rich Text
s.setConvertMIME(false);
Stream stream = s.createStream();
MIMEEntity body = memo.createMIMEEntity();
//----------------
//configuracion del contenido para aceptar multiples componentes
MIMEHeader header = body.createHeader("Content-Type");
header.setHeaderVal("multipart/mixed");
//anexo de grafico
MIMEEntity child = body.createChildEntity();
header = child.createHeader("Content-Disposition");
header.setHeaderVal("attachment; filename="monacho.gif"");
stream.writeText("R0lGODlhHAALAKEAAAAAAP/WAP///wAAACH5BAEAAAIALAAAAAAcAAsAAAJAlI+paxHnHorQqQAkjjzDTDWAt43m1jmeiGZgBMaqJLTl+Nj2l+Mv6+rRNkCOykWyNJQ1jOllrK0YRmYixMhqCwA7");
child.setContentFromText(stream, "image/gif",MIMEEntity.ENC_BASE64);
stream.truncate();
//anexo de texto attachment
child = body.createChildEntity();
header = child.createHeader("Content-Disposition");
header.setHeaderVal("attachment; filename="carreta.txt"");
stream.writeText("Este es el texto de mi archivo n y demas cosas...blablabla...y demas carretas... .");
child.setContentFromText(stream, "text/plain",MIMEEntity.ENC_NONE);
stream.truncate();
//cuerpo del correo
String mensaje=pDoc.getItemValueString("mensaje");
child = body.createChildEntity();
stream.writeText(mensaje);
child.setContentFromText(stream, "text/html",MIMEEntity.ENC_NONE);
stream.truncate();
//-----------------
//Envio del documento
memo.send(false,destinatario);
s.setConvertMIME(true); // Restore conversion
}
}
ca.recycle();
db.recycle();
ac.recycle();
s.recycle();
}catch(NotesException n){
System.out.println("Error en Agente "+n.id);
System.out.println("Error mensaje: "+n.text);
}catch(Exception e) {
System.out.println("Error e: "+e.getMessage() );
}
}
}
