E-Mail versenden aus dem Java FS Client
Author: Firecom
Publication Date: 8/20/2013 10:58
Hallo Community,
ich habe nun bereits einige andere Einträge nach diesem Thema durchforstet und komme leider nicht zum erwünschten Ergebnis.
Ich habe die Aufgabe ein Script in FS zu erstellen das bei Rechtsklick auf einem Datenquelleneintrag ausgewählt und ausgeführt werden soll. Dabei soll eine E-Mail an verschiedene Adressen versendet werden. Die Adressen sowie Inhalte befinden sich alle im ausgewählten Datenquelleneintrag.
Ich weiß leider im Moment nicht so richtig wie ich das mit den FS Bordmitteln alles lösen kann, da ich auch noch ziemlich neu im FS Umfeld bin.
Ich möchte mich schonmal im vorraus für eure bemühungen bedanken.
VG Michael
-
Author: warthds - 8/21/2013 8:54
Hallo,
in der API gibt es den MailService:
MailService service = this.connection.getService(MailService.class);
service.sendMail(mailAdress, mailSubject, mailText);
Viele Grüße
Dennis
0 -
Author: Firecom - 8/21/2013 9:04
Hallo Dennis,
diese Möglichkeit hatte ich auch schon gefunden. Leider bekomme ich eine ClassNotFoundException.
Ich dachte mir, dass das eventuell an der FS Version liegt (Derzeit: 4.2.488.56504).
Gibt es noch andere Möglichkeiten? Außer direkt über die Java API.
VG Michael
0 -
Author: warthds - 8/21/2013 9:07
Hallo,
Zeig mal den ganzen StackTrace warum du das nicht findest und am besten ein schnipsel aus dem Skript. Ich benutze das oft und es geht wudnerbar in gleicher FS Version.
Du kannst Java Mail API integrieren und das selber bauen aber es ist ja in FS bereits fertig.
Viele Grüße
Dennis
0 -
Author: Firecom - 8/21/2013 9:10
Das steht im Script:
MailService service = this.connection.getService(MailService.class);
service.sendMail("albert@webfox01.de", "mailSubject", "mailText");
Hier der StackTrace:
Client Version: 4.2.488.56504
Java Version: 1.6.0_33 Sun Microsystems Inc.
FSVersion=4.2.488.56504#2498;JDK=1.6.0_33 32bit Sun Microsystems Inc.;OS=Windows 7 6.1 x86;Date=21.08.2013 10:09:57
de.espirit.firstspirit.access.script.ExecutionException: Typed variable declaration : Class: MailService not found in namespace at line 39
at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:122)
at de.espirit.firstspirit.client.gui.applications.ApplicationTabRegistry$IdentifiableExecutable.execute(ApplicationTabRegistry.java:150)
at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:97)
at de.espirit.firstspirit.client.action.ScriptMenuAction$ScriptAction.actionPerformed(ScriptMenuAction.java:213)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:132)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:116)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:109)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
0 -
Author: warthds - 8/21/2013 9:13
Hi,
Hast du den MailService importiert?
import de.espirit.firstspirit.access.MailService;
Viele Grüße
Dennis
0 -
Author: gockel - 8/21/2013 9:24
statt "this" sollte hier immer das "context" Objekt benutzt werden.
context.getConnection()
0 -
Author: Firecom - 8/21/2013 9:24
Hallo Dennis,
ich sollte vielleicht mal länger schlafen. Vielen Dank für deine Hilfe, es funktioniert.
Vielleicht kannst du mir noch bei einer zweiten Sache helfen, wäre nett von dir.
Ich muss in einem Script eine Vorlage laden. Denn ich benötige den HTML Teil dieser Vorlage. Sprich ich muss diesen Auslesen um in im Script weiter zu verarbeiten. Hättest du für mich ein Codeschnipsel oder ähnliches? Vielen Dank für deine Bemühungen.
VG Michael
0 -
Author: warthds - 8/21/2013 9:30
Hi,
@Sebastian bei mir gibt es eine Connection im Objekt, klar das man das an "Besnshell" anpassen muss.
@Michael du meinst den HTML Reiter?
Da gibt es ein fertiges Beispiel im ChannelSourceProvider in der API.
Viele Grüße
Dennis
0 -
Author: Firecom - 8/21/2013 9:39
Hallo Dennis,
korrekt den meine ich.
VG Michael
0 -
Author: warthds - 8/21/2013 9:43
Hi,
wie gesagt direkt im ChannelSourceProvider:
Example usage:
final TemplateStoreRoot templatestore = (TemplateStoreRoot) userService.getStore(Store.Type.TEMPLATESTORE, false);
ChannelSourceProvider csp = templatestore.getPageTemplates().getTemplate("standard");
csp.setLock(true, false);
// e.g. use default (first) template set
final TemplateSet templateSet = userService.getProject().getTemplateSets().get(0);
try {
final String source = csp.getChannelSource(templateSet);
csp.setChannelSource(templateSet, "$-- (c) e-Spirit AG 2007 --$\n" + source);
csp.save("channel source set via API", false);
} finally {
csp.setLock(false, false);
}
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
10 commentaires