# Maily ## Inhaltsverzeichnis - [Einleitung](#einleitung) - [Installation](#installation) - [Code Rundown](#codeRundown) --- ## Einleitung Maily wurde entwickelt um auf unseren Email Postfächern automatisch zu antworten und uns darüber zu informieren wer uns geschrieben hat. Wichtig war auch das Maily neuen Kontakten nur ein mal schreibt. Beim eingebauten Autoresponder unseres Email-Servers konnte man nur eine 'Sperrstunde' einstellen in der automatisch geantwortet wird. Auf alles. Und jeden. Immer. Sogar in einem aktiven Email-Verlauf hätte dieser Autoresponder einfach geantwortet. Irgendwie sollte Maily uns wissen lassen wann und was sie macht damit wir im Bilde sind. Hier habe ich mich dazu entschieden dass Maily ein kleines 'Chatbot' modul bekommt und uns in Nextcloud-Talk schreibt. Der Vorteil dabei ist das man Maily direkt in den richtigen Channel schreiben lassen kann, so das alle Leute informiert werden die mit dem Postfach arbeiten. Keiner hat zeit alle 2 Tage Logdaten auf einem Server nachzuschauen. ## Installation Die installation einer Dev-Umgebung ist relativ straight forward, allerdings sollte beachtet werden das man Maily auf einer `UNIX` Maschine entwickeln sollte. Das interface zwischen Maily und Nextcloud wird mit einem `.sh` Skript ausgeführt der auf Windows nur schwer zum Laufen gebracht werden kann. ### Step 1 Als erstes muss das Repository heruntergeladen werden ``` $ git clone https://git.sommerschein.de/Sommerschein/email_util.git ``` ### Step 2 Es muss eine `Virtuelle Umgebung` erstellt und die benötigten Module installiert werden. ``` $ python3 -m venv .venv ``` Mit diesem befehl wird eine sperierte version von `Python` im `Projekt` abgelegt, so dass keine Probleme mit neuen Versionen in den Modulen auftreten. Dann noch aktivieren: ``` $ source .venv/bin/activate ``` Als nächstes muss die `requirements.txt` Datei installiert werden, damit wir alle Module bereit haben. ``` $ pip install -r requirements.txt ``` ### Step 3 Die `.env.example` Datei in `.env` umbenennen und anpassen. Das `BOT_PASSWORD` wird in der Cloud als `APP-Passwort` eingerichtet. So muss nicht der ganze User übergeben werden. Ausserdem kann der zugriff auf die Dateien begrenzt werden. Der `BOT_ROOMTOKEN` ist der `Token` zu dem Raum in dem Maily schreibt. Man findet ihn am Ende der `URL` wen man den gewünschten Raum im Browser öffnet. Die `BOT_API` ist immer gleich, hier muss nur die `URL` am anfang auf die gewünschte Cloud angepasst werden Die `EMAIL` Variablen sind im grunde standart Login daten zu einem Email Server. ### Step 4 Im grunde sind wir fertig, ab jetzt kann an Maily entwickelt werden. Wenn man den `autoResponder.py` skript ausführt wird Maily angewendet und versucht seinen Job zu machen. ## Code Rundown Wird angepasst wen 1.0 fertig ist.