Nastavení odesílání mailů z Koha. Koha umí generovat texty mailů uživatelům s upomínkami, předupomínkami, výzvami, sděleními, oznámení o založení účtu, a apd. Aby se toto umožnilo je především nutno tuto možnost povolit řádkovým příkazem v Ubuntu (či Debianu): # koha-email-enable jméno_instance_kohy koha-email-enable/koha-disable-email: turn on or off sending of email for the Koha instance. If email is disabled, the mail queue is regularly cleared in order to prevent a wave of emails when its turned on. Note: by default, a new Koha instance has the mail disabled. Opačně, zablokování mailů se udělá takto: # koha-email-disable jméno_instace_kohy Vlastní odeslání mailů do sítě internetu však Koha již nedělá, generované texty emailů pro odeslání ukládá do adresáře /var/spool/postfix/incoming. Další odeslání do sítě musí obstarat mail server, který však není implicitně součástí Ubuntu, ale lze ho nainstalovat (typicky je to mailserver Postfix nebo Sendmail). Nicméně instalace a jeho nastavení je dosti složité a jeho jméno se musí registrovat jako doména, aby tento server byl v síti internetu k nalezení v DNS serverech. Tuto službu může poskytnout za určitých předpokladů i mail server gmail od Google (viz dále). Proto je praktičtější využít již fungujícího mailserveru organizace, kde je Koha provozována, např. knihovna, škola, úřad, podnik, a pod. K tomuto se používá tzv. MTA (Mail Transfer Agent), což je prográmek, který vygenerované maily předává mailserveru se všemi doprovodnými informacemi k odeslání. Takovým defaultním programem MTA v Ubuntu je doporučen program MTA Postfix. (nezaměňovat s mailserverem Postfix!), není však implicitně instalován viz návod na jeho instalaci http://wiki.lib.sun.ac.za/index.php/koha/post-installation (mailů se týká jen Step 1) 1
Instalace MTA Postfix http://wiki.lib.sun.ac.za/index.php/koha/post-installation Instalace MTA Postfix včetně následující konfigurace na mail server (v tomto případě využívá Gmail Google) je uvedena na, viz http://kohageek.pbworks.com/w/page/58731341/configure%20gmail%20with%20postfix%20to%20 send%20notices%20from%20koha což je totéž co http://kohageek.pbworks.com/w/page/58731341/configure gmail with postfix to send notices from Koha 2
3
4
Nastavit /etc/postfix/main.cf 2. Copy the configuration file. cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf 5
6
7
Aby Gmail mohl fungovat pro účel přeposílání mailů, musí povolit méně bezpečné operace (ochrana proti přeposílání spamů) Nastavení účtu u gmail, aby povolil méně bezpečné operace, viz: Allowing less secure apps to access your account: https://support.google.com/accounts/answer/6010255?hl=en 8
nastavit na Allowed 9
3. Install following packages too apt-get install libsasl2-2 apt-get install libsasl2-modules apt-get install ca-certificates 10
trvá asi 3 minuty 4. Open the following file and add some lines. gedit /etc/postfix/main.cf Add the following lines at the bottom of the file. relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_cafile = /etc/postfix/cacert.pem smtp_use_tls = yes 11
Nastavení mail serveru na gmail: smtp.gmail.com:587 12
5. Create a new file to save the gmail password. gedit /etc/postfix/sasl_passwd Add the following line in the opened file. [smtp.gmail.com]:587 urgmailid@gmail.com:yourpassword Add your gmail user name and password. 13
Konkrétní heslo u mého účtu je začerněno 6. Change the permission of following file. chmod 400 /etc/postfix/sasl_passwd 7. Translate the /etc/postfix/sasl_passwd to Postfix lookup tables. postmap /etc/postfix/sasl_passwd 14
8. Create the /etc/aliases.db postalias hash:/etc/aliases 9. Create the /etc/postfix/cacert.pem. 15
cat /etc/ssl/certs/equifax_secure_ca.pem >> /etc/postfix/cacert.pem 10. Restart Postfix. /etc/init.d/postfix restart Check the following settings in Koha to start email notices, Administration > Patron categories > Overdue notice required > Yes Koha Administration > Patrons > Enhancedmessagingpreferences > Allow Set Koha > Tools > Overdue Notice/status triggers Enable email service in Koha koha-email-enable library Visit following link to check commands to enable email for Koha, http://wiki.koha-community.org/wiki/commands_provided_by_the_debian_packages#e-mail Information courtesy These instructions blindly borrowed from Eureka blog. 16
Test vyzkoušení odeslání mailu z příkazového řádku Ubuntu # echo "text pro tělo mailu" následovaný příkazem sendmail (což je příkaz programu MTA Postfix), adresa cílového mailu b.smilauer@post.cz 17
sendmail je příkazem Postfixu Došlý mail na b.smilauer@post.cz 18
Více strukturovaný zkušební mail Došlý mail na b.smilauer@post.cz Tím je zajištěno a otestováno odesílání mailů z Ubuntu do internetu pomocí mailserveru Gmail 19
Pro test zda Koha správně generuje emaily je nejlépe využít emailu, který posílá Koha na email nově založeného čtenáře. Před založením nového čtenáře však musí být předem nastavena systémová preference AutoEmailOpacUser na Posílat, pak bude odeslán mail na adresu nové založeného čtenáře. Vlastní odeslání mailů do sítě internetu však Koha již nedělá, generované texty emailů pro odeslání ukládá do adresáře /var/spool/postfix/active (např. založení účtu čtenáře), odkud je MTA Postfix posílá dále na mail server, anebo do tabulky message_queue v databázi MySQL (např. při potvrzení desideráta čtenáře - návrhu na zakoupení knížky). Pokud se ukádají do message_queue v databázi MySQL, do Crontab je nutno naplánovat spouštění programu /usr/share/koha/bin/cronjobs/process_message_queue.pl, který přenese neodeslané maily z tabulky message_queue do adresáře /var/spool/postfix/active odkud je MTA Postfix posílá dále na mail server. Příkaz process_message_queue.pl lze také spustit z příkazové řádky root@bohdan-virtualbox:/# KOHA_CONF=/etc/koha/sites/library3/koha-conf.xml./usr/share/koha/bin/cronjobs/process_message_queue.pl 20
Cronjobs, viz manuál Koha 3.14, kapitola 18 Chapter 18. Cron Jobs (periodicky spuštěné programy) Table of Contents 1. Cron Jobs 1.1. Search 1.2. Circulation 1.3. Patrons 1.4. Notices 1.5. In Processing/Book Cart 1.6. Catalog 1.7. OPAC 1.8. System Administration 1.9. Acquisitions 1.10. Deprecated scripts 21
A cron job is a Linux command for scheduling a command or script on your server to complete repetitive tasks automatically. Scripts executed as a cron job are typically used to modify files or databases; however, they can perform other tasks that do not modify data on the server, like sending out email notifications. Koha has many cron jobs in place that you can enable (search engine indexing, overdue notice generation, data cleanup and more), this chapter will explain those for you. 1. Cron Jobs The locations below assume a dev install which puts the crons in misc/, if you have a standard install you may want to look in bin/ for these files if you cannot find them in misc/ 1.4. Notices 1.4.1. Message Queue Script path: misc/cronjobs/process_message_queue.pl Does: processes the message queue to send the check out, check in and hold filled emails and SMS message to users and sends outgoing emails to patrons. requires EnhancedMessagingPreferences to be on Frequency suggestion: 1-4 hours Important Item due and Advanced due notices are controlled by the advance_notices cron. 1.4.2. Advanced Notice Script path: misc/cronjobs/advance_notices.pl Does: prepares "pre-due" notices and "item due" notices for patrons who request them prepares notices for patrons for items just due or coming due soon. requires EnhancedMessagingPreferences to be on Frequency suggestion: nightly Note This script does not actually send the notices. It queues them in the message queue for later 1.4.2.1. Perl Documentation 22
NAME advance_notices.pl - cron script to put item due reminders into message queue SYNOPSIS./advance_notices.pl -c or, in crontab: 0 1 * * * advance_notices.pl -c DESCRIPTION This script prepares pre-due and item due reminders to be sent to patrons. It queues them in the message queue, which is processed by the process_message_queue.pl cronjob. The type and timing of the messages can be configured by the patrons in their "My Alerts" tab in the OPAC. 11. 1. 2015 B.Šmilauer 23