EMail einrichten
Es ist ganz einfach möglich, aus iDempiere heraus EMails zu versenden.
Einrichtung
Um Mails zu versenden, muss iDempiere Zugriff auf einen SMTP Mailserver erhalten. Hierzu gibt es verschiedene Anleitungen wie die folgenden (weshalb ich das jetzt im Detail hier nicht wiederhole):
- http://www.adempiere.com/EMail
- http://www.adempiere.metas.de/mediawiki/index.php/E-Mail_Versand_einrichten
In einer Beispiel-Implementierung habe ich auf einem Server zuerst das postfix Debian-Paket eingerichtet. In der Debconf-Einrichtung konnte man postfix als Internet-Server einrichten, was ganz schnell gibt und sofort funktionierte. Ich persönlich installiere dazu immer noch das Paket mailutils, so das man dann z.B. von der Konsole aus Mails mit dem Kommando "mail" versenden kann (zum Testen). Ein solcher Server sollte übrigens noch per Firewall von außen her blockiert werden, damit nicht Gott und die Welt seine Spam über unseren Server einliefert.
Die Einstellungen in iDempiere kann man bei der Programmeinrichtung angeben. Man kann sie aber auch problemlos später als Mandanten-Administrator im Fenster "Mandant" angeben. Bei einem postfix auf dem selben Rechner gibt man als Servernamen "localhost", als Port 25 und keine Authentifizierung und Verschlüsselung an. Außerdem gibt man eine Default-Mailadresse an und kann dann auch schon mit dem Test-Button die erste Mail versenden.
Möglichkeiten
- Über den Feedback-Button (oben rechts) kann ein Benutzer eine Mail z.B. an den Support senden. In der Voreinstellung ist dieser Mail direkt ein Protokoll mit dem Systemstatus und ein Screenshot beigefügt. Das ist insbesondere für das Melden von Benutzer-Problemen sehr hilfreich.
- Man kann selbstverständlich auch Jasper-Berichte ganz einfach per Mail als PDF-Anhang versenden. Eigentlich ist das fast selbsterklärend, aber hier ist es auch nochmal beschrieben.
Debugging
In obengenanntem Link im Metas-Wiki steht, das es eine Möglichkeit gibt, alle Mails nicht an die Empfänger zu versenden, sondern an eine einzige zentrale Mailadresse. Das kann dem Debugging dienen, kann aber auch einen Check der Ausgangspost erlauben, bevor die Mails dann endgültig weitergeleitet werden. Die dortige Beschreibung funktioniert allerdings nicht. Also habe ich in die Hände gespuckt und das als IDEMPIERE-2104 implementiert. Um das zu benutzen, geht man folgendermassen vor:
- Zuerst mal sollte man sehen, das das Mailsystem normal läuft. (wenn das nicht geht, ist die zusätzliche Umleitung vielleicht auch nicht das richtige Werkzeug, um einen Fehler zu finden.) Also erst einmal einen Bericht ausgeben und dann per Mail versenden (man kann übrigens im String-Feld unterhalb des Benutzer-Suchfeldes eine Adresse eingeben, ohne das diese vorher dem Programm bekannt sein muss).
- Als nächstes öffnet man als Admin des Mandanten das Fenster Systemkonfigurator. Dort trägt man als ersten Test den folgenden neuen Schlüssel ein:
- MAIL_SEND_BCC_TO_ADDRESS : "Configured Value" -> 'meinemailadresse@meinserver.de'
- Nun testet man diese Funktion. Es sollte eine Kopie von jeder ausgehenden Mail per BCC an die angegebene Adresse geschickt werden. Die angegebene Adresse sollte nicht per Umleitung/weiterleitung wieder auf die selbe Adresse gehen, die man sonst auch zum Testen nimmt (mein schlauer Mailserver hatte erkannt, das das zwei gleiche Mails sind und eine direkt weggeworfen). (Im übrigen gibt es wohl allgemein Mailserver mit Problemen, BCC-Adressen auszuliefern, wenn die gleiche Mail gleichzeitig innerhalb derselben Domain ordentlich ausgeliefert wird. Wenn derartige Probleme auftreten, liegt's am Mailserver, nicht in iDempiere. Ich empfehle, bei Problemen erstmal eine GMX-Adresse einzurichten, um das auszuschliessen.)
- Als nächstes aktiviert man die nächste Einstellung im Systemkonfigurator:
- MAIL_DONT_SEND_TO_ADDRESS : "Configured Value" -> 'Y'
- Nun testet man das Ergebnis: Es werden alle Mails nur noch an den Administrator (die BCC-Adresse) geschickt und nicht mehr an die eigentlichen Adressaten.
- Wenn alles glatt läuft, kann man im Thunderbird/Icedove die erhaltene Mail mit "Ctrl-E" öffnen und direkt versenden, um sie dem ursprünglichen Empfänger zukommen zu lassen. Auf diese Art kann man, wenn man iDempiere nicht so richtig traut, eine Art Torwächter haben, der alle Mails nochmal checkt und dann manuell rausschickt.
- (leider geht das z.Zt. noch nicht perfekt, siehe Kommentare https://idempiere.atlassian.net/browse/IDEMPIERE-2104 und https://idempiere.atlassian.net/browse/IDEMPIERE-2132)