From e3e22343e9e9f57a8d23695edde6ca38a842da2e Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Sun, 17 Dec 2023 21:45:30 +0200 Subject: [PATCH] =?UTF-8?q?Lis=C3=A4=C3=A4=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..33b3b63 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# Tiedote.md + +Tiedote.md on yksinkertainen massasähköpostijärjestelmä, joka perustuu Gittiin, +Pandocin markdowniin ja sähköpostiin. + +## Kehittäminen + +Kehitysympäristön saa luotua helposti komennolla `guix shell`. Muutoksia +koodiin hallitaan Git-versionhallintatyökalulla ja muutosehdotuksia voi +[lähettää `git send-email`:n avulla](https://git-send-email.io/) osoitteeseen + tai Gitean avulla. + +## Asentaminen + +Helpoin tapa asentaa tiedote.md on lisätä alla oleva kanava [Guix:n +kanavalistaan](https://guix.gnu.org/manual/en/guix.html#Specifying-Additional-Channels). + +``` +(channel + (name 'tiedote.md) + (url "https://git.olarinmaensamoojat.fi/OMS/tiedote.md.git") + (branch "main") + (introduction + (make-channel-introduction + "d9157e9e8aa78363d14344293d6a0bc47a8d5a7b" + (openpgp-fingerprint + "A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32")))) +``` + +Tämän jälkeen ajetun `guix pull` -komennon jälkeen tiedote.md on saatavilla +tiedote-md nimisenä pakettina kaikkialla Guixissa. + +Koodin voi myös kääntää käsin Haskellin `cabal`-infrastruktuurin avulla. + +## Ajaminen + +Tiedote.md koostuu kahdesta osasta: palvelimesta ja sähköpostin toimittajasta. +Sähköpostin toimittaja vastaanottaa sähköpostit ja toimittaa ne palvelimelle +käsiteltäväksi. Palvelin vastaa kaikesta kirjanpidosta, sähköpostien +lähettämisestä ja Git-tietovaraston päivittämisestä, kun se saa muutoksista +ilmoituksen HTTP POST -pyyntönä (esim. Git-palvelun webhookista). + +Palvelimen voi käynnistää komennolla `tiedote.md server`. Mahdolliset asetukset +saa listattua lisäämällä komentoon `--help` valitsimen. `--address` +valitsimesta tulee huomata, että osoitteessa voi käyttää vain ASCII-merkkejä +(ks. [#15](https://git.olarinmaensamoojat.fi/OMS/tiedote.md/issues/15)). + +Sähköpostin lähettämiseen tarvitaan `sendmail`-yhteensopiva MTA (mail transfer +agent, sähköpostin välitysohjelma), jollaisen useimmat sähköpostipalvelimet +tarjoavat. Jos tiedote.md:n palvelimella ei ole omaa sähköpostipalvelinta, voi +tähän käyttää [`msmtp`:tä](https://marlam.de/msmtp/). + +Sähköposti saapuu tiedote.md:n tietoon niin, että se annetaan komennon +`tiedote.md receive` syötteeksi (tarkista, että asetusvalitsimet vastaavat +palvelimen asetuksia). Tämä on yleensä helppo automatisoida +`.forward`-tiedostolla seuraavankaltaisella rivillä, jos tiedote.md on +palvelimella, jolle toimitetaan tiedote.md:lle tulevat sähköpostit. + +``` +|/path/to/tiedote.md receive +``` + +Muissa tapauksissa joutuu todennekäisesti kirjoittamaan skriptin, joka hakee +sähköpostit jostain muualta tai toimittaa ne esim. `ssh`:n yli +`tiedote.md receive`:lle.