GithubHelp home page GithubHelp logo

mailingliste's Introduction

Mailingliste

Python-Script für die Mailingliste der KSG Ilmenau.

Vorbedingungen

Nach einem total-Crash unserer Hardware, wo ein php-Skript unsere Mailinglisten verwaltete, mussten wir improvisieren und etwas eigenes schnell auf die Beine stellen. Das Problem: Mailman ist bei uns auf Grund der technischen Voraussetzungen nicht nutzbar.

Folgende Voraussetzungen:

  • geschlossene und offene Listen
  • Mailingliste hat eine eigene Mailbox
  • mehrere Mailinglisten teilen sich eine Mailbox
  • IMAP- und SMTP-Zugang
  • Mailbox-Ordnerstruktur:
    • INBOX
    • Spam
    • TooLarge

Wir haben unsere Mailboxen bei 1&1. Ein Cron-Job führt das Shell-skript regelmäßig aus. Es greift via IMAP auf die jeweiligen Mailboxen zu und prüft alle Mails in der INBOX. Anschließend wird jede Mail analysiert, ob sie an eine definierte Listen-Mailadresse geschickt wurde, prüft die Daten und sendet sie weiter.

mail.json

Konfigutionsdatei für die Mailingliste(n). Unter config stehen die Zugriffsdaten für die Mailbox. Sind keine Nutzerdaten beim SMTP-Host angegeben, so wird eine anonymer Login versucht.

Jede Mailingliste erhält einen eigenen Unterzweig. Ihre Emailaddresse ist dabei der Schlüssel. Im Subtree options wird definiert, welche Emailadresse als Administrator angegeben werden soll (Mail-server werden dazu aufgefordert Fehlermeldungen etc. pp. dorthin zu schicken), wie der Prefix lautet (subject) und ob die Liste geschlossen (closed) oder offen (open) ist.

Offene Listen brauchen einen Subtree members. Dies ist ein einfaches Array mit allen Emailadressen der Mitglieder. Jede eingehende Mail wird, bei erfolgreicher Spamprüfung, an alle Mitglieder weitergesendet.

Bei geschlossenen Listen können nur Mitglieder eine Mail auf die Liste schicken. Alle anderen Nutzer werden abgewiesen. Da einige Mitglieder mehr als nur eine Mailadresse haben, von denen sie senden, aber nur auf einer Adresse Mails erhalten wollen, gibt es den Subtree alias. Dies ist ein Array von Mailadressen, von denen auch Emails auf die Liste gesendet werden dürfen.

Besonders ist der Subtree spam und im config-Zweig SPAM. Dies sind Arrays von Emailadressen, die nicht senden dürfen. Sie werden ignoriert und stets unter in der Mailbox unter Spam gespeichert.

mailingliste's People

Contributors

cyper85 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.