Hylafax отправка факсов
Добавлено: 2009-08-24 8:21:26
Не так давно выдалась задачка создать факс сервер, как с отправкой, так и с приёмом факсов.
Посетив http://www.lissyara.su/?id=1190 можно найти достаточно подробную (в принципе как и всегда - за что товарищу Лиссяре спасибо) инструкцию по установке. То немногое, что хотелось бы добавить:
После установки программы и начала установки и инициализации модема:
Probing for best speed to talk to modem: 38400 OK
Начинается
Hmm, something seems to be hung, check your modem eh?
Надо просто забить!! После перезагрузки все весьма смущающие надписи исчезнут, а факс, должен будет приниматься как надо:)
И ещё один момент, который необходимо исправить после установки. По умолчанию hylafax предваряет все отправки факса титульной страницей, думаю что на данный момент распечатка подоюной страницы потеряла свою актуальность.
создадим файлик:
#куда вписываем одну строку
#регистр важен.
Теперь то, ради чего мы все здесь и собрались:)
топаем сюда: http://www.hylafax.org/content/Desktop_Client_Software
Здесь множество клиентов для хайлафакса, как платных, так и бесплатных.
Так как в моей ситуации мне необходим был бесплатный клиент, с поддержкой Сервера Терминалов - то мой выбор, пал на - http://www.boerde.de/~horstf/
Качаем 3 файлика:
1 - часть для передачи запроса из окошек
2 - часть конфига самбы, в частности описание сетевого принтера
3 - скрипт, посылающий непосредственно на hylafax сформированный файл и номер телефона
1) Думаю с первой частью проблем не возникнет. В конфигурационном файле указываем порт, я дополнительно убрал все поля, оставив только номер для отправки, затем запускаем respond.exe и висящая в трэе иконка информирует о том, что настройка прошла успешно:) Для пущей убедительности
в cmd прописываем:
telnet localhost 5555 - где 5555 порт, что вы настроили в config.exe
Если выскочило окошко с предложенем ввести номер, значит всё работает:)
######################################################################
В результате в каталоге /var/spool/hylafax/client формируется файл для отправки, являющийся результатом работы виртуального принтера, и запускается скрипт printfax.pl с заданными параметрами
3) Третья и последняя часть по идее не должна вызвать никаких проблем, но вот у меня вызвала..
Сей скрипт формирует строку запуска и запускает hylafax с нужными параметрами
Вот те изменения которым подвергся мой скрипт:
Ну вроде всё, если чего не так извиняйте, эта моя первая статья, но постараюсь исправиться:)
Посетив http://www.lissyara.su/?id=1190 можно найти достаточно подробную (в принципе как и всегда - за что товарищу Лиссяре спасибо) инструкцию по установке. То немногое, что хотелось бы добавить:
После установки программы и начала установки и инициализации модема:
Probing for best speed to talk to modem: 38400 OK
Начинается
Hmm, something seems to be hung, check your modem eh?
Надо просто забить!! После перезагрузки все весьма смущающие надписи исчезнут, а факс, должен будет приниматься как надо:)
И ещё один момент, который необходимо исправить после установки. По умолчанию hylafax предваряет все отправки факса титульной страницей, думаю что на данный момент распечатка подоюной страницы потеряла свою актуальность.
создадим файлик:
Код: Выделить всё
touch /usr/local/lib/fax>sendfax.conf
Код: Выделить всё
AutoCoverPage: No
Теперь то, ради чего мы все здесь и собрались:)
топаем сюда: http://www.hylafax.org/content/Desktop_Client_Software
Здесь множество клиентов для хайлафакса, как платных, так и бесплатных.
Так как в моей ситуации мне необходим был бесплатный клиент, с поддержкой Сервера Терминалов - то мой выбор, пал на - http://www.boerde.de/~horstf/
Качаем 3 файлика:
1 - часть для передачи запроса из окошек
2 - часть конфига самбы, в частности описание сетевого принтера
3 - скрипт, посылающий непосредственно на hylafax сформированный файл и номер телефона
1) Думаю с первой частью проблем не возникнет. В конфигурационном файле указываем порт, я дополнительно убрал все поля, оставив только номер для отправки, затем запускаем respond.exe и висящая в трэе иконка информирует о том, что настройка прошла успешно:) Для пущей убедительности
в cmd прописываем:
telnet localhost 5555 - где 5555 порт, что вы настроили в config.exe
Если выскочило окошко с предложенем ввести номер, значит всё работает:)
Код: Выделить всё
2) Ставим самбу, я поставил 3-ю, вроде работает без проблем. Вот мой smb.conf
#############################################################################
[global]
server string = Fax
security = SHARE
public = yes
log file = /var/log/samba/log.%m
max log size = 50
printcap name = cups
load printers = no
printing = bsd
printcap name = /dev/null
allow hosts = 10.1.1.0
[fax]
comment = Fax Printer
public = yes
printable = yes
writeable = no
path = /var/spool/hylafax/client
print ok = yes
print command = (echo -e '1i\n%!\n.\nw\nq'|ed %s; /var/spool/hylafax/client/printfax.pl %I %s %U %m; rm -f %s) & #эта загогулина здесь знак амперсанда
guest ok = yes
В результате в каталоге /var/spool/hylafax/client формируется файл для отправки, являющийся результатом работы виртуального принтера, и запускается скрипт printfax.pl с заданными параметрами
3) Третья и последняя часть по идее не должна вызвать никаких проблем, но вот у меня вызвала..
Сей скрипт формирует строку запуска и запускает hylafax с нужными параметрами
Вот те изменения которым подвергся мой скрипт:
Код: Выделить всё
my($port, $usedelay, $defaultdelay, $acct, $faxspool, $smbclient,
$logsmbhostname, $usesmbuser, $msg_to, $msg_ignored,
$msg_spooled, $msg_failed, $debug, $allowfile, $filechar,
$version, $nosendondebug, @faxspool_args, $msg_norespond,
$msg_strangeerr, $intl_with, $unillegal, $unillegalnumbers,
$termserver_ip, $ts_user, %respond_port, $minfaxsize,
$cmdlinefmt, $path, $faxtest);
#Добавил переменную: $path
###Path to SendFile
$path = '/var/spool/hylafax/client/';
#Указал путь до места где помещаются файлы для отправки
### Format of commandline
# $cmdlinefmt='mgetty';
$cmdlinefmt='hylafax';
#Выбрал формат командной строки для запуска hylafax
### The faxspoolprogram
### for mgetty+sendfax:
# $faxspool = '/usr/bin/faxspool';
### for hylafax:
$faxspool = '/usr/local/bin/sendfax';
#Выбрал и немного подредактировал путь до файла запуска
# Build faxspool arguments from above arguments, number and file
# --- Change this for other fax programs
if( $cmdlinefmt eq 'hylafax' ) {
if ( $faxreceiver ) {
# Add receivers name to faxspool arguments
@faxargs = ("-d",$faxreceiver,$faxfile);
} else {
@faxargs = (@fixargs,"-d",$fnum,"$path$faxfile"); # изменил строку вызова sendfax
}
} elsif ( $cmdlinefmt eq 'mgetty' ) {
@faxargs = (@fixargs,$fnum,$faxfile);