Firecom
I'm new here

E-Mail versenden aus dem Java FS Client

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions

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);

    }

View solution in original post

0 Kudos
10 Replies
warthds
I'm new here

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 Kudos

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 Kudos

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 Kudos

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 Kudos

Hi,

Hast du den MailService importiert?

import de.espirit.firstspirit.access.MailService;

Viele Grüße

Dennis

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 Kudos
gockel
Crownpeak employee

statt "this" sollte hier immer das "context" Objekt benutzt werden.

context.getConnection()

0 Kudos
warthds
I'm new here

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 Kudos

Hallo Dennis,

korrekt den meine ich.

VG Michael

0 Kudos