# 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. ## Kopiominen Tiedote.md on [GNU AGPL -lisenssin version 3](COPYING.md), tai valintasi mukaan minkä tahansa myöhemmän Free Software Foundationin julkaiseman version, alainen vapaa ohjelma. Se siis kunnioittaa vapauttasi käyttää sitä mihin haluat, muokata sitä vastaamaan paremmin tarpeitasi ja jakaa muutettuja tai muuttamattomia versioita auttaaksesi muita.