Home Forum Nuclos Entwicklung Makros und Regeln Mailprovider API

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 26)
  • Autor
    Beiträge
  • #6932
    Gerhard Fasching
    Teilnehmer

    Hallo

    gibt es vielleicht schon ein Beispiel wie man Mails per Imap ode pop3 abholen kann.

    danke1

    lg
    Gerhard

    #6933
    Ramin Goettlich
    Teilnehmer

    Hallo,

    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,
    nuclosian

    #6938
    Gerhard Fasching
    Teilnehmer

    Hallo

    ja danke hab ich gesehen, wie ich Mails’s empfange wäre ein Beispiel super.

    Danke!

    lg
    Gerhard

    #6939
    Gerhard Fasching
    Teilnehmer

    Hallo

    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
    gerhard

    #6940
    Matthias Reichart
    Teilnehmer

    Kommt 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?

    #6941
    Gerhard Fasching
    Teilnehmer

    3.14.5

    lg
    Gerhard

    #6954
    Gerhard Fasching
    Teilnehmer

    Hallo,

    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

    #6957
    Ramin Goettlich
    Teilnehmer

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

    #6959
    Gerhard Fasching
    Teilnehmer

    hm 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
    Gerhard

    #6961
    Ramin Goettlich
    Teilnehmer

    Die 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.

    #6962
    Gerhard Fasching
    Teilnehmer

    ok, 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

    #6965
    Ramin Goettlich
    Teilnehmer

    Auch in der aktuellen Version?
    Ich habe dieses Problem nicht.
    Bitte ggf. ein Ticket auf http://support.nuclos.de erstellen.

    #6983
    Gerhard Fasching
    Teilnehmer

    Irgendwie 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() + „‚“);
    }
    }

    }

    }

    #6984
    Markus Glitzner
    Teilnehmer

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

    ah jetzt seh ichs, bei der Definitin steht Bemerkung, unten aber bestellung 🙂

    #6985
    Gerhard Fasching
    Teilnehmer

    bekomm 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
    Datum

    Danke!

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 26)