Давно обсуждался вопрос рассылки электронных писем читателям из Ирбиса. Есть на самом деле масса вариантов использования готовых внешних разработок на подобии SendMail и Blat. Я предпочитаю последний. Но это все консольные программы, и они не всегда бывают удобные. По этому появилась задумка написать свой модуль для отправки электронных писем.
По этому решил разработать модуль, удобный для использования и позволяющий решать те задачи, которые являются наиболее актуальными.
При разработки функционала я заложил решение таких проблем:
1. рассылка должникам информации о просроченном возврате литературы;
2. информаирование о новых поступлениях литературы (у нас внедряется ИРИ: в записях читателей проставлен перечень кодов интересующих тем, а все поступления кодируются автоматически по шифрам ББК, таким образом в любой момент можно отловить литературу, интересуную данному читателю)
3. отправка произвольного письма
4. отправка вложенных файлов (кроме рассылки БО новых поступлений рассматривается вариант отправки отсканированных оглавлений некоторых журналов, которые не расписываются или расписываются с большой задержкой)
Каждый из названных информационных блоков может быть отправлен как по отдельности, так и все скопом. Для этого служат чек-боксы в верхнем левом углу, позволяющий выбрать ту информацию, которая попадет в письмо.
Собственно говоря, этот функционал и реализован на данный момент.
Модуль реализован как пользовательский режим (DLL). Для его работы требуется формат, который должен находится в БД RDR (если хотите попробовать отправку почты не из БД РДР, а из какой-то другой, то в нее и копируйте). Формат прилагаю внизу email_to_rdr.pft Формат служит для передачи в модуль переменной информации, а именно ФИО читателя, его email, его долги, список новой литературы для него, список файлов для него, адрес электронной почты, пароль, логин, порт с которого осуществляется отправка. Собственно, формат у меня с описанием внутри, разобраться не сложно. Всю информацию я отделил в нем однобуквенными тегами, что значит каждый отдельный тег там описанно. Для запуска модуль в ини файле каталогизатора прописывается новая секция следующего вида:
[USERMODE]
UMNUMB=1
UMDLL0=test_dll.dll
UMFUNCTION0=UserMode
UMPFT0=rdr_to_email
UMNAME0='Отправка E-mail читателю'
UMGROUP0=1
UMICON0=
Будет интересно узнать мнение и пожелания. Модуль писался мной отталкиваясь от собственного понимания проблемы и, возможно, в нем учтено далеко не все, что следовало бы. По этому и выношу его на обсуждение.
Редактировано 1 раз. Последний раз 05.11.2011 00:44 пользователем Gena.