Hack 50 Convert Incoming Faxes to PDF on Linux

figs/moderate.gif figs/hack50.gif

Wrap an incoming fax in PDF and deliver it by email.

Before PDF and before email, we had fax. Today, we still have fax. Integrate fax with your 21st-century lifestyle using HylaFAX. HylaFAX turns your Linux box into a fax server. For details, visit http://www.hylafax.org and http://www.ifax.com. Here, we discuss configuring HylaFAX so that it will deliver incoming faxes to a given email address as a PDF attachment.

Install the HylaFAX server package from your favorite Linux distribution. During installation, a FaxMaster email alias should be created that points to the user responsible for maintaining the server. In this hack, all incoming faxes will be emailed to the FaxMaster as PDF. After installation, run faxsetup -server.

After a fax is received, HylaFAX's faxgetty invokes the faxrcvd script, which in turn executes FaxDispatch (typically located in /var/spool/hylafax/etc) to set configuration parameters. FaxDispatch is where you can control how incoming faxes are routed. Your installation might include a sample FaxDispatch file, or you might need to create one. Read man faxrcvd for details about FaxDispatch.

This sample FaxDispatch file configures HylaFAX to email all incoming faxes to the FaxMaster as PDF attachments. Additional, commented-out lines give an idea of what else is possible:

## Default FaxDispatch file - routes all inbound faxes to FaxMaster as PDF

## Consult the faxrcvd(8C) man page for more information

##



SENDTO=FaxMaster;             # by default email to FaxMaster

FILETYPE=pdf;                 # in PDF format



## This excerpt from the man page gives you an idea of what's possible here

##

## You can route by sender's TSI

#case "$SENDER" in

# *1*510*526*1212*) SENDTO=sam;;      # Sam's test rig in Berkeley

# *1*415*390*1212*) SENDTO=raster@asd;; # 7L Xerox room, used for scanning

# *5107811212)     SENDTO=peebles@mti;;  # stuff from home

#esac



## and/or by device

#case "$DEVICE" in

#  ttyS1)            SENDTO=john;;      # all faxes received on ttyS1

#  ttyLT0)           SENDTO=mary@home;; # all faxes received on ttyLT0

#esac



## and/or by caller id

#case "$CIDNUMBER" in

# 435*)       SENDTO=lee; FILETYPE=pdf;; # all faxes from area code 435

# 5059627777) SENDTO=amy; FILETYPE=tif;; # Amy wants faxes in TIFF

#esac

?Darren Nickerson