Revision e234989c
doc/dokumentation.xml | ||
---|---|---|
1547 | 1547 |
</sect2> |
1548 | 1548 |
<sect2 id="Hintergrund-Job ImportRecordEmails"> |
1549 | 1549 |
<title>ImportRecordEmails</title> |
1550 |
<para> Der Hintergrund-Job <literal>ImportRecordEmails</literal> kann vollständig über das Feld Daten konfiguriert werden. Er benötigt folgende Variablen:</para> |
|
1550 |
<para>Die prinzipielle Idee des Hintergrund-Jobs <literal>ImportRecordEmails</literal> ist es auf einen spezifischen IMAP-Ordner zuzugreifen und unterhalb diesen Ordners alle E-Mails in kivitendo zu importieren. Der Job ist transaktionssicher, d.h. entweder können alle E-Mails zum Zeitpunkt des Jobs importiert werden oder es wird überhaupt keine importiert.</para><para>Die eindeutige Kennzeichnung um Duplikate beim Import zu vermeiden ist die UID der E-Mail auf dem IMAP-Server, dies ist solange stabil, solange der Provider nicht gewechselt wird, bzw. die E-Mails nicht auf einen anderen IMAP-Server migrieren.</para><para>Zu guter Letzt kann der Job auch noch automatisch Verarbeitungen mit dem Anhängen der E-Mail direkt beim Import durchführen, bspw. ZUGFeRD konforme PDFs automatisch verbuchen.</para> |
|
1551 |
<para>Die prinzipiellen IMAP-Zugangsdaten können vollständig über das Feld Daten konfiguriert werden und sind wie folgt definiert:</para> |
|
1551 | 1552 |
<itemizedlist> |
1552 | 1553 |
<listitem> |
1553 | 1554 |
<para><literal>hostname:</literal> Hier wird der E-Mail-Server (IMAP) eingetragen</para> |
... | ... | |
1568 | 1569 |
<para><literal>ssl:</literal> Gibt an ob SSL verwendet werden soll. Default: 1</para> |
1569 | 1570 |
</listitem> |
1570 | 1571 |
</itemizedlist> |
1571 |
|
|
1572 |
<para> Optional können außerdem folgende Variablen verwendet werden:</para> |
|
1573 |
|
|
1572 |
<para>Um das ganze Verfahren komfortabler zu optimieren oder Fehlimporte wieder zu löschen stehen folgende optionale Parameter zu Verfügung:</para> |
|
1574 | 1573 |
<itemizedlist> |
1575 | 1574 |
<listitem> |
1576 | 1575 |
<para><literal>email_import_ids_to_delete:</literal> Hier können IDs von Importen eingetragen werden, deren E-Mails aus dem E-Mail-Journal gelöscht werden sollen.</para> |
... | ... | |
1579 | 1578 |
<para><literal>process_imported_emails:</literal> Wenn nach dem Import noch weitere Verarbeitung der angehangenen Dokumente erfolgen soll, müssen hier die jeweiligen Schritte eingetragen werden. Aktuell ist es möglich, dass angehangene ZUGFeRD-Rechnung direkt verbucht und mit der E-Mail verknüpft werden. Dazu muss hier 'zugferd' eingetragen werden.</para> |
1580 | 1579 |
</listitem> |
1581 | 1580 |
<listitem> |
1582 |
<para><literal>processed_imap_flag:</literal> Das hier eingetragenen Flag wird nach dem Verarbeiten in der E-Mail auf den IMAP-Server gesetzt.</para> |
|
1581 |
<para><literal>imported_imap_flag:</literal> Das hier eingetragenen Flag wird nach dem Verarbeiten in der E-Mail auf den IMAP-Server gesetzt.</para> |
|
1582 |
</listitem> |
|
1583 |
<listitem> |
|
1584 |
<para><literal>not_imported_imap_flag:</literal> Das hier eingetragenen Flag wird bei erfolglosen Importieren auf dem IMAP-Server gesetzt und ist hilfreich um die Fehlerfälle bei großem Datenimporten schneller einzugrenzen.</para> |
|
1583 | 1585 |
</listitem> |
1584 | 1586 |
<listitem> |
1585 |
<para><literal>not_processed_imap_flag:</literal> Dieses Flag wird gesetzt, wenn die E-Mail nicht verarbeitet werden konnte.</para> |
|
1587 |
<para><literal>processed_imap_flag:</literal> Das hier eingetragenen Flag wird nach dem erfolgreichen Verarbeiten an der E-Mail gesetzt.</para> |
|
1588 |
</listitem> |
|
1589 |
<listitem> |
|
1590 |
<para><literal>not_processed_imap_flag:</literal> Dieses Flag wird gesetzt, falls die E-Mail nicht erfolgreich verarbeitet werden konnte (Verarbeitungsprozeß ist in <literal>process_imported_emails</literal> definiert.</para> |
|
1586 | 1591 |
</listitem> |
1587 | 1592 |
<listitem> |
1588 | 1593 |
<para><literal>record_type:</literal> Einträge im E-Mail-Journal können direkt einem Belegtypen zugeordnet werden. Wenn alle E-Mails, die mit einem Hintergrundjob importiert werden, den gleichen Belegtypen haben, kann man diesen hier festlegen und alle Einträge im E-Mail-Journal werden entsprechend zugeordnet. Für Eingangsrechnungen kann man hier bspw. 'ap_transaction' setzen.</para> |
1589 | 1594 |
</listitem> |
1590 | 1595 |
<listitem> |
1591 |
<para><literal>skip_broken_mime_mails:</literal>Bricht den Import-Lauf NICHT ab, falls einige Mails nicht MIME-konform "zerlegt" werden können. Default: 0</para> |
|
1596 |
<para><literal>skip_broken_mime_mails:</literal> Bricht den Import-Lauf NICHT ab, falls einige Mails nicht MIME-konform "zerlegt" werden können. Default: 0</para>
|
|
1592 | 1597 |
</listitem> |
1593 | 1598 |
</itemizedlist> |
1594 | 1599 |
|
... | ... | |
1598 | 1603 |
<para>Thunderbird 115.8.0: Sie werden durchnummeriert mit dem Prefix "$label". Über die Einstellungen kann man Schlagwort und Farbe für den jeweiligen Tag setzen und berabeiten. Um die vordefenierten Tags in Thunderbird zu nutzen kann man $label1 - $label5 nutzen. Eigene Labels werden dann von thunderbird automatisch hochgezählt. Um das korrekte Tag für ein Label zu finden oder auch selbst ein Tag mit einer selbst gewählten Zahl zu definieren kann man in den Einstellunge ganz am Ende über den Button <literal>Konfiguration berabeiten...</literal> die Werte in der Kofiguration einsehen, ändern und berabeiten. Hier muss man nach <literal>mailnews.tags</literal> suchen.</para> |
1599 | 1604 |
<para>Thunderbird 115.8.1: Einstellungen -> Schlagwörter -> hinzufügen. Das Schlagwort wird mit dem 'Label' 'name_mit_unterstrichen' zu Verfügung gestellt. Was wirklich passiert kann man dann ganz unten in den Einstellungen unter 'Konfiguration bearbeiten' und einer darauf folgenden Filtersuche nach 'mailnews.tag' erkennen.</para> |
1600 | 1605 |
<para>In SoGo kann man unter Einstellungen -> Mail -> Labels beliebige Label mit $ als Prefix anlegen und Namen und Farbe zuweisen.</para> |
1601 |
<para>Eine beispielhafte Konfiguration im YAML-Format für das Feld 'Daten' im Hintergrund-Job könnte bspw. so aussehen: |
|
1606 |
<note>Hilfreich ist dieses Skript was die Flags beispielhaft für einen IMAP-Ordner 'Eingangsrechung' ausliest. Entsprechend die <literal>$GROSSBUCHSTABEN</literal> mit eigenen Werten ersetzen: <programlisting> |
|
1607 |
#!/usr/bin/perl |
|
1608 |
|
|
1609 |
use strict; |
|
1610 |
use warnings; |
|
1611 |
|
|
1612 |
use Mail::IMAPClient; |
|
1613 |
my $imap = Mail::IMAPClient->new( |
|
1614 |
Server => '$SERVER', |
|
1615 |
User => '$USER', |
|
1616 |
Password => '$PASS', |
|
1617 |
Ssl => 1, |
|
1618 |
Uid => 1, |
|
1619 |
); |
|
1620 |
|
|
1621 |
$imap->select("INBOX.Eingangsrechnung") |
|
1622 |
or die "Select error: ", $imap->LastError, "\n"; |
|
1623 |
|
|
1624 |
# get the flags for every message in my 'Eingangsrechner' folder |
|
1625 |
my $flaghash = $imap->flags( scalar( $imap->search("ALL") ) ); |
|
1626 |
|
|
1627 |
# pump through sorted hash keys to print results: |
|
1628 |
for my $k (keys %$flaghash) { |
|
1629 |
# print: Message 1: \Flag1, \Flag2, \Flag3 |
|
1630 |
print "Message $k:\t", join( ", ", @{$flaghash->{$k}} ), "\n"; |
|
1631 |
} |
|
1632 |
</programlisting></note> |
|
1633 |
<note> |
|
1634 |
Eine beispielhafte Konfiguration im YAML-Format für das Feld 'Daten' im Hintergrund-Job könnte bspw. so aussehen. |
|
1635 |
Enthalten sind alle aktuell bekannten Parameter mit entsprechenden sinnvollen Standardwerten, bis auf die Werte der IMAP-Flags (s.a. vorherige Notiz), sodass die Konfiguration als einfachen Start zum Experimentieren direkt kopiert werden kann: |
|
1602 | 1636 |
<programlisting> |
1603 | 1637 |
record_type: ap_transaction |
1604 | 1638 |
folder: INBOX/Eingangsrechnung |
1639 |
imported_imap_flag: in_kivitendo_importiert |
|
1640 |
not_imported_imap_flag: nicht_importiert |
|
1641 |
process_imported_emails: zugferd |
|
1605 | 1642 |
processed_imap_flag: zugferd_verarbeitet |
1606 | 1643 |
not_processed_imap_flag: zugferd_geht_net |
1607 |
process_imported_emails: zugferd
|
|
1644 |
skip_broken_mime_mails: 0
|
|
1608 | 1645 |
hostname: www.meine-domaene.de |
1609 | 1646 |
username: alpha39@meine-domaene.de |
1610 | 1647 |
password: supipass8 |
1611 | 1648 |
</programlisting> |
1612 |
</para>
|
|
1649 |
</note>
|
|
1613 | 1650 |
</sect2> |
1614 | 1651 |
</sect1> |
1615 | 1652 |
|
Auch abrufbar als: Unified diff
doku zu Hintergrundjob ImportRecordEmails überarbeitet/ergänzt