Mail vom Redaktionssystem (JavaClient) verschicken
Author: aVogt
Publication Date: 8/27/2010 11:22
Hallo,
aus Scripten verschicke ich eine Mail an den ausfürhrenden Redakteur (funktioniert bestens)
de.espirit.firstspirit.client.MailServiceImpl mailSer = (MailServiceImpl) context.getConnection().getMailService();
String absenderMail= ""+gs.getProjectProperties().getData().get("ps_absender_email").getEditor().get(mLang);
String absenderName = ""+gs.getProjectProperties().getData().get("ps_system_name").getEditor().get(mLang);
String absenderEMail = SABConvert.convertEmail(absenderName, absenderMail);
String EmpfMail=us.getConnection().getUser().getEMail();
de.espirit.firstspirit.access.MailHeader mHeader = new MailHeader(EmpfMail);
mHeader.sender=absenderEMail;
String Betreff = "setzen der Verlinkungen - ";
mailSer.sendMail(mHeader,Betreff,MailText,"html",false,(Attachment) null);
de.espirit.firstspirit.client.MailServiceImpl mailSer = (MailServiceImpl) context.getConnection().getMailService();
kann auch durch
de.espirit.firstspirit.access.MailService mailSer = (MailService) context.getConnection().getMailService();
ersetzt werden, funktioniert auch.
Nun wollte ich das in eine Klasse (und ein Modul) packen, da ich aus anderen Scripten auch Mails verschicke:
public boolean sendLinkMail(String LinkText, String Nummer) {
try{
String MailText="<!DOCTYPE HTML PUBLIC \"-W3CDTD HTML 4.0 TransitionalEN\">\n" +
"<html>\n<HEAD>\n"+
" <title>Fehlerhafte Links</title>\n"+
this.getStyle() +
"</HEAD>\n<body>\n"+
"<p><b>Linksetzung für: " + Nummer + "</b></p>\n"+
"<p>" + LinkText + "</p>\n"+
"</body>\n</html>\n";
MailServiceImpl mailSer = (MailServiceImpl) this.ct.getConnection().getMailService();
String absenderMail= ""+gs.getProjectProperties().getData().get("ps_absender_email").getEditor().get(this.lang);
String absenderName = ""+gs.getProjectProperties().getData().get("ps_system_name").getEditor().get(this.lang);
String absenderEMail = SABConvert.convertEmail(absenderName, absenderMail);
String EmpfMail=this.us.getConnection().getUser().getEMail();
MailHeader mHeader = new MailHeader(EmpfMail);
mHeader.sender=absenderEMail;
String Betreff = "setzen der Verlinkungen - " + this.getSystem();
mailSer.sendMail(mHeader,Betreff,MailText,"html",false,(Attachment) null);
} catch(Exception E) {
this.error("Error sendLinkMail: " + E.getMessage());
this.setErrorStatus(true);
return false;
}
this.ct ist ProjectScriptContext (habs auch mit WorkflowScriptContextImpl versucht)
ich bekomme bei mailSer.sendMail einen Fehler.
-
Author: gockel - 8/27/2010 15:12
So,
nachdem ich per DM die eigentliche Exception erfahren habe:
context.logError("Error sendLinkMail", e);
java.lang.NullPointerException
at de.espirit.firstspirit.server.mailmanagement.MailClientHandler.packParameter(MailClientHandler.java:20)
at de.espirit.firstspirit.io.DefaultClientHandler.packParameters(DefaultClientHandler.java:66)
at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:49)Das Problem ist diese Zeile:
mailSer.sendMail(mHeader,Betreff,MailText,"html",false,(Attachment) null);
Die NullpointerException fliegt, weil Sie null als Attachment übergeben.
Es sollte so gehen:
mailSer.sendMail(mHeader,Betreff,MailText,"html",false);
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar