66 lines
2.6 KiB
Markdown
66 lines
2.6 KiB
Markdown
|
# 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
|
||
|
<admin@mail.olarinmaensamoojat.fi> 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.
|