Projekt »apollo«

Projekt
apollo
Kategorie
bash (20)
Tags
console(17), ux(14), mail(2)
Gestartet
05/17/22 11:44:28
RelDate
06-21-22
Released
apollo.1
Maintainer
Pieli

apollo ist, wenn richtig implementiert, ein mailer vom browser fenster aus.

Er lehnt auf einem lokalen mta, am besten msmtp.

Prinzip

Eine Post-Verbindung wird aufgenommen, das Interface unter https://mylo.pieli.net/1 etabliert.

Dem Client wird folgendes JSON entlockt:

POST-Request an Apollo
{
    key : <key>       // pflicht
    to: <to-address>  // pflicht
    from: <to-address>// pflicht
    cc: <to-address>  // optional
    bcc: <to-address> // optional
    re: <subject>     // pflicht
    body: <mail-body> // pflicht
}

Der Server entbietet entweder:

JSON-Antwort von Apollo
{
    status : 1,
    msg : &squot;BAD key! You are not authorized to use this service!&squot;,
}

oder:

JSON-Antwort von Apollo
{
    status : 2,
    msg : &squot;GOOD key, BAD submission! The keys/values you submitted prevent this service from processing them correctly. Please come back w/proper keys/values.&squot;,
}

oder:

JSON-Antwort von Apollo
{
    status : 0,
    msg : &squot;GOOD key, GOOD submisssion, mail now queued!&squot;,
}

Das ist sogar DSGVO-konformer Mail-Versand@https, nur für Maschinen ebend. Hab ich eben so ausgeschwitzt, fiel mir beim Moped-Fahren ein. Und schon fast fertig.

Aufbau im Dateisystem

Apollos Abdruck im FS
    ├── ajax
    │   ├── cfg
    │   │   ├── apollo.ini.php
    │   │   └── db.ini.php
    │   ├── inc
    │   │   ├── Database.mini.php
    │   │   ├── Ini.php
    │   │   └── class_apollo.php
    │   ├── index.php
    │   └── sql
    │       └── apollo.sql
    ├── css
    │   ├── apollo.mini.css
    │   └── apollo.mini.css.gz
    ├── fonts
    │   ├── jetbrainsmono-Regular.woff2
    │   └── passionone.woff2
    ├── img
    │   ├── bck.svg
    │   └── favicon.svg
    ├── index.html
    └── js
            ├── apollo.mini.js
            └── apollo.mini.js.gz

Rezeptur

  • Dieses Archiv und entpacke es in einen webfähigen und php-fähigen Ordner.

  • Darauf in der Datenbank, die man zu verwenden wünscht, eine neue Datenbank nebst Nutzer/Passwort anlegen.

  • Im extrahierten Ordner liegt im sql-Verzeichnis das Layout dieser Datenbank. Einspielen und umrühren.

  • Evtl ein paar Adressen zum Anfangen mitgeben, sie sollten das Format &squot;Vor und Nachname <adresse>&squot; haben und gehören in die Tabelle addresses.

    • addresses.prios < 11: From-Adressen, höher liegt weiter oben

    • addresses.prios > 10: To-Adressen, höher liegt weiter oben

  • Den Datenbank-Nutzer/-PW und DB-Namen in die Datei ./ajax/cfg/database.ini.php eintragen.

  • sich für eine Version der mitgelieferten JS/CSS Dateien in ebendiesen Ordnern entscheiden. Die anderen nebst ./ajax/sql löschen.

  • ./index.html in Betrieb nehmen.

  • PROFIT!

Ansonsten

Stöbern macht Freude!

Alle 1 Releases für Projekt »apollo«