Home › Forum › Nuclos Entwicklung › Makros und Regeln › Mailprovider API
- Dieses Thema hat 25 Antworten und 5 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahren, 3 Monaten von
Gerhard Fasching.
-
AutorBeiträge
-
22 August 2013 um 22:10 Uhr #6932
Gerhard Fasching
TeilnehmerHallo
gibt es vielleicht schon ein Beispiel wie man Mails per Imap ode pop3 abholen kann.
danke1
lg
Gerhard23 August 2013 um 00:40 Uhr #6933Ramin Goettlich
TeilnehmerHallo,
die Dokumentation dazu siehe http://api.nuclos.de/org/nuclos/api/provider/MailProvider.html.
Ein Beispiel zum Versenden von Emails siehe: http://wiki.nuclos.de/pages/viewpage.action?pageId=822134.
Wir ergänzen noch ein Beispiel zum Versenden auf der letztgenannten Seite.
Grüsse,
nuclosian25 August 2013 um 02:01 Uhr #6938Gerhard Fasching
TeilnehmerHallo
ja danke hab ich gesehen, wie ich Mails’s empfange wäre ein Beispiel super.
Danke!
lg
Gerhard26 August 2013 um 02:57 Uhr #6939Gerhard Fasching
TeilnehmerHallo
habe das receive Beispiel probiert.
import java.util.List;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.common.NuclosFile;
import org.nuclos.api.context.GenerateContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.mail.NuclosMail;
import org.nuclos.api.provider.MailProvider;
import org.nuclos.api.rule.GenerateRule;/** @name
* @description
* @usage
* @change
*/
@Rule(name=“Mail_abholen“, description=““)
public class Mail_abholen implements GenerateRule {public void generate(GenerateContext context) throws BusinessException {
Ticket bemerkung = context.getTargetObject(Ticket.class);
List allMails = MailProvider.receive(false);for (NuclosMail mail : allMails) {
for (NuclosFile file : mail.getAttachments()) {
bemerkung.insertAttachment(
file, „Bestätigungsmail von ‚“ + mail.getFrom() + „‚ mit Betreff ‚“ + mail.getSubject() + „‚“);
}
}}
}Kommt beim speichern folgender Fehler:
cannot find symbol: method receive(boolean), location : class org.nuclos.api.provider.MailProvider
danke!
lg
gerhard27 August 2013 um 11:18 Uhr #6940Matthias Reichart
TeilnehmerKommt beim speichern folgender Fehler:
cannot find symbol: method receive(boolean), location : class org.nuclos.api.provider.MailProvider
danke!
Hallo,
welche Version von Nuclos verwenden Sie denn?
27 August 2013 um 15:41 Uhr #6941Gerhard Fasching
Teilnehmer3.14.5
lg
Gerhard3 September 2013 um 21:48 Uhr #6954Gerhard Fasching
TeilnehmerHallo,
schaut so aus das es mit der 3.14.9 jetzt funktioniert.
hab nur das problem das ich das mail nicht importieren kann.gebe es Vielleicht ein beispiel z.b. wie ich aus einen mail einn Auftrag automatisch erstelle.
Danke
lg Gerhard
3 September 2013 um 23:58 Uhr #6957Ramin Goettlich
TeilnehmerHm, da müsste man erst etwas genauer definieren, was geschehen soll. Die Mail hat ja nur einen textuellen Inhalt, wie soll der in einen strukturierten Auftrag überführt werden?
Beispiel: Ich schreibe Ihnen eine Mail „Hallo Gerhard, wie gehts?“. Wie soll daraus ein Auftrag generiert werden?
Meines Erachtens kommen nur zwei Möglichkeiten in Frage:
a) Strukturierte Verarbeitung eines Mailanhangs, der eine festgelegten Struktur (z.B. CSV) entspricht.
b) Übernahme des Mailinhaltes als Auftragstext, aus dem dann manuell ein Auftrag generiert wird (d.h. z.B. Auftragspositionen hergeleitet werden).
Den Mailinhalt könnte man ja auslesen mit mail.getMessage().
Und das könnte man in einen Auftrag schreiben (z.B. in einer Jobregel):Auftrag a = new Auftrag();
a.setAuftragstext(mail.getMessage());
BusinessObjectProvider.insert(a);4 September 2013 um 00:09 Uhr #6959Gerhard Fasching
Teilnehmerhm ja ok Auftrag war ein schlechtes Beispiel, nehmen wir ein Ticketsystem an.
ich hab eine Entität die Absender, betreff , Body und eventuell ienen Anhang hat.
Das möcht ich importieren quasi einen neuen Datensatz erzeugen.Wie müsst ich die Jobregel starten, das dann ein neuer Datensatz erzeugt wird, das hab ich irgendwie noch nicht geschnallt.
Das soll z.b alle min passieren.!
danke!lg
Gerhard4 September 2013 um 00:10 Uhr #6961Ramin Goettlich
TeilnehmerDie Jobregel muss im Regelmanager einem Job (der vorher unter Administration | Jobstuerung) angelegt werdene muss) zugewiesen werden. In der Jobsteuerung kann der Ausführungszyklus konfiguriert werden.
4 September 2013 um 00:14 Uhr #6962Gerhard Fasching
Teilnehmerok, danke.
Hatte das Problem das ich die Regel nicht job zuteilen konnte.
Wenn ich in rüber gezogen habe bleibt er nicht beim Job. zugeteilt ???lg
4 September 2013 um 02:29 Uhr #6965Ramin Goettlich
TeilnehmerAuch in der aktuellen Version?
Ich habe dieses Problem nicht.
Bitte ggf. ein Ticket auf http://support.nuclos.de erstellen.9 September 2013 um 21:26 Uhr #6983Gerhard Fasching
TeilnehmerIrgendwie komm ich weiter, wäre über einen TIP sehr danke!
versuche über eine JOB Regel Mails abzu rufen.
Habe eine entität Ticket, wo ich einen neuen Datensatz erzeugen will aus jeden Mail.
Das Beispiel funktioniert gar nicht, hab zwar Geschäft das die MAils abgerufen werden, aber einen Datensatz erzeugen geschweige Felder damit zu füllen schaff ich nicht.hier die Regel, die irgendwie nicht zur Customregel passt.
Vielleicht kann mir wer startholfe geben,dankeeeee!
lg
import org.nuclos.api.rule.JobRule;
import org.nuclos.api.context.JobContext;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.exception.BusinessException;import org.nuclos.api.rule.GenerateRule;
import org.nuclos.api.context.GenerateContext;
import org.nuclos.api.rule.InsertRule;
import org.nuclos.api.context.InsertContext;
import java.util.Collection;
import java.util.List;
import org.nuclos.api.common.NuclosFile;
import org.nuclos.api.mail.NuclosMail;
import org.nuclos.api.provider.MailProvider;import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.provider.QueryProvider;/** @name
* @description
* @usage
* @change
*/
@Rule(name=“Mail holen Job“, description=““)public class Mail_abholen_Job implements JobRule {
public void execute(JobContext context) {
Ticket Bemerkung = context.getTargetObject(Ticket.class);
List allMails = MailProvider.receive(true);for (NuclosMail mail : allMails) {
for (NuclosFile file : mail.getAttachments()) {
bestellung.insertAttachment(
file, „Bestätigungsmail von ‚“ + mail.getFrom() + „‚ mit Betreff ‚“ + mail.getSubject() + „‚“);
}
}}
}
9 September 2013 um 23:00 Uhr #6984Markus Glitzner
TeilnehmerIst die Regel denn überhaupt kompilierbar?
Wie ist denn „bestellung“ deklariert?Wenn es eine neue „bestellung“ ist dann fehlt am Ende BusinessObjectProvider.insert(bestellung);
ist es eine bestehende „bestellung“ gehört BusinessObjectProvider.update(bestellung); hinah jetzt seh ichs, bei der Definitin steht Bemerkung, unten aber bestellung 🙂
9 September 2013 um 23:12 Uhr #6985Gerhard Fasching
Teilnehmerbekomm schon beim kompilieren schon fehler das
context.getTargetObject(Ticket.class) nicht passt.das gettargetobject gibt’s in der Klasse gar nicht , glaub ich?
ich möchte einfach mit einen Job Mails in der Entität Ticket einen neuen Datensatz erstellen und die Felder mit Mailinhalt befühlen.
zum Beispiel
felder wie:
absender
Betreff
MailText
DatumDanke!
-
AutorBeiträge