Hello,
I got the following java agent code to work on one server but not another. The image loaded properly in the email using the one server. On the other server however, the image did not get placed in the email. Does anyone have a clue as to why this might be? I’m trying to compare server and messaging documents right now. Can anyone narrow down what I should be looking for, or if I’m even looking in the right place?
import lotus.domino.*;
import java.io.*;
import java.util.*;
import java.awt.Event;
import java.net.*;
import java.applet.Applet;
import java.lang.*;
import java.io.PrintWriter;
public class JavaAgent extends
AgentBase {
private MIMEEntity mime;
private int byteNumber;
private int count;
private byte byteArray;
public void NotesMain() {
PrintWriter pw = getAgentOutput();
pw.println(“”);
try {
Session curSession = getSession();
AgentContext agentContext = curSession.getAgentContext();
Database curDb = agentContext.getCurrentDatabase();
Document contextDoc = agentContext.getDocumentContext();
String unid = “4B458C71A41E37698526742600696DB5”;
Document curDoc = curDb.getDocumentByUNID(unid);
String mailBody = curDoc.getItemValueString(“Body”);
String mailSubject = curDoc.getItemValueString(“Subject”);
String mailSendTo = “me@me.com”;
Document mailDoc = curDb.createDocument();
mailDoc.replaceItemValue(“Form”, “Memo”);
curSession.setConvertMIME(false);
// Block conversion
Stream multiStream = curSession.createStream();
MIMEEntity mimeRoot = mailDoc.createMIMEEntity();
MIMEHeader header = mimeRoot.createHeader(“Content-Transfer-Encoding”);
//mailinfo
header = mimeRoot.createHeader(“Subject”);
header.setHeaderVal(mailSubject);
header = mimeRoot.createHeader(“To”);
header.setHeaderVal(mailSendTo);
mimeRoot.setContentFromText(multiStream,“multipart/related”,MIMEEntity.ENC_NONE);
multiStream.close();
//**************************************************************************************************************
Stream imageStream = curSession.createStream();
EmbeddedObject file = curDoc.getAttachment(“top3.gif”);
InputStream fileStream = file.getInputStream();
byteArray = new byte[fileStream.available()];
byteNumber = fileStream.read();
count = 0;
while(byteNumber > -1){
Integer byteInteger = new Integer(byteNumber);
byteArray[count] = byteInteger.byteValue();
byteNumber = fileStream.read();
count += 1;
}
imageStream.write(byteArray);
mime = mimeRoot.createChildEntity();
mime.setContentFromBytes(imageStream,“image/gif”,MIMEEntity.ENC_NONE);
imageStream.close();
//**************************************************************************************************************
Stream htmlStream = curSession.createStream();
mime = mimeRoot.createChildEntity();
htmlStream.writeText(mailBody);
mime.setContentFromText(htmlStream, “text/html;charset=ISO-8859-1”, MIMEEntity.ENC_NONE);
htmlStream.close();
//email verzenden
mailDoc.send(false);
curSession.setConvertMIME(true);
// Restore conversion
pw.println(“”);
} catch( Exception e) {
pw.println(“false”);
pw.println(“”+e.toString()+“”);
e.printStackTrace();
}
//einde html output
pw.println(“”);
}
}