I thought that I would send to the list my notes that I have kept from my
HylaFAX installation and setup. The major goal in my setup was to reproduce
and improve upon the functionality of a Windows product called RelayFax.
I was experiencing severe trouble with the RelayFax server. The client printing
driver/program works well. This client sends e-mail with a TIFF attachment
as the fax. Lines in the body of the e-mail define the specifics of the
recipient and the cover page. The fax server retrieves this e-mail and
faxes the attached TIFF according to the e-mail body information.
The trouble that I had experienced was the general type that you experience
with Windows-based products: occasional crashes, hangups, failure to
function, interference from other programs, and especially so when uptime
was greater than 24 hours. I wanted to allow my workstations to continue
to use RelayFax client, but with HylaFAX functioning as the fax server.
Just as RelayFax server, I wanted to configure HylaFAX to deliver incoming
faxes to a dedicated fax recipient.
Now, this is all pretty much standard fax-to-email and email-to-fax stuff,
so none of what I have done is earth shattering, but given the poor set of
available HylaFAX Windows clients available (I don't like the aesthetics of
WHFC in particular), I think that using RelayFax as a Windows client to
HylaFAX is a good combination. Plus, RelayFax uses its own SMTP client,
which sends the fax via e-mail and allows remote locations or home-based
employees to fax without having their own fax machine or networked fax
server. By the way, RelayFax is copyrighted and a licensed product.
Because it was easy to do while I was at it, I enabled a simple
email-to-fax ability. The attachment needs to be HylaFAX compatible
(ASCII, PostScript, TIFF, etc) and the fax-to number should be the only
thing in the subject line. HylaFAX sends the attachment as a fax to the
number in the subject field. No cover page is generated, and the body of
the mail is ignored except for the attachment. I have tested this
email-to-fax gateway with Outlook Express 5, Netscape Messenger 4.?, and
Relevant stuff: The server is a clone PC using an AMD K6-2/450 processor
and ASUS P5A motherboard. The modem is an old Best Data 14.4 fax class 2
modem configured at COM2. I am using RedHat Linux 6.1 with the updates.
The HylaFAX version I have used is 4.1beta1 (because I don't know of a
beta2 RPM available and don't enjoy the errors during make and install when
I don't have the appropriate compilier or such available).
- 1) Downgrade libtiff 3.5.x to 3.4.x to avoid needing to patch HylaFAX
before beta3 is available.
- 2) Install mawk from the RedHat CD (if it wasn't installed already).
- 3) Install hylafax-4.1beta1-1rh6.i386.rpm
- 4) Run faxsetup and faxaddmodem. Note that it is *critical* to be
consistent in the nomenclature for the modem. RedHat likes to set up
/dev/modem as a symbolic link to the real serial port (in this case
/dev/ttyS1), however, I would recommmend that /dev/ttySx be used
religiously during the HylaFAX setup.
- 5) Add the line: mo:2345:respawn:/usr/sbin/faxgetty ttyS1 to /etc/inittab
- 6) HylaFAX RPM install created a mail alias called FaxMaster. Edit this
alias to direct mail to the intended recipient of fax information and
- 7) Copy and replace my versions of Noel Burton-Krahn's faxrcvd and
faxrcvd-mail into /var/spool/hylafax/bin/ These are too big for the mailing
list to attach, but can currently be found at
- 8) Use 'chmod 0755' and 'chown root.root' on faxrcvd and faxrcvd-mail to
care of security.
- 9) Create a new user for out-bound faxes to which RelayFax messages or
fax-intended e-mails will be sent.
- 10) Create a folder called faxtmp in this user's $HOME directory.
- 11) Place my .procmailrc file into this user's $HOME directory. You can
find this at
Many thanks go to Steve Glines for his help with this.
- 12) The RedHat 6.1 sendmail configuration requires that .procmailrc and its
folder not be group-writeable. 'chmod go-w $HOME/.procmailrc' and
'chmod go-w $HOME' should fix this if it is not already correct.
- 13) RedHat 6.1 uses smrsh and requires a symbolic link to /usr/bin/procmail
be added to /etc/smrsh/ 'ln -s /usr/bin/procmail /etc/smrsh/procmail'
should do the trick.
- 14) Because my fax server is currently a different computer than my mail
server, and because my fax server does not have a valid DNS entry in the
deanox.com name server, I have configured fetchmail to retrieve out-bound
fax e-mails from the mail server every two minutes. I have learned,
though, that mailing to user@[xxx.xxx.xxx.xxx] is a valid way of telling my
mail system to not use DNS and to send the mail directly to the xxx IP
number, or I can have my mail server .forward to that user, but the RedHat
6.1 sendmail-8.9 configuration is messy with relaying and fetchmail use
avoids configuring sendmail.
- 15) Replace the default /usr/share/fax/faxcover.ps with my customized one.
It can be found at
I customized it because I didn't feel like using the Silicon Graphics logo on
all of my cover pages. For those of you wishing to use your own logo on
the cover page see the instructions below.
- 16) Care for security by using 'chmod 0644 /usr/share/fax/faxcover.ps'
and 'chown root.root /usr/share/fax/faxcover.ps'.
- 17) Install RelayFax client (downloadable at
each client machine and print to it for faxing.
Notes on faxcover.ps customization:
Everything between the lines '%tom-baby's logo stuff:' and
'drawtext' from the default faxcover.ps file creates the Silicon
Graphics logo. Removing that code will remove the logo from the fax
cover sheet. I used Microsoft Word printing to a file via the Apple
LaserWriter driver to convert my logo to postscript code. There are
some bitmap drawing definitions and setup in the prolog and setup sections
which I added to faxcover.ps and then there is a very large section
containing the actual bitmap information itself.
If you use my version of
faxcover.ps you will only need to replace my bitmap information with yours.
You can easily note this area by the header: '%% NOW THE LOGO SECTION OF
THE FILE' and the footer: '%% END OF LOGO SECTION'. Word pixeling
increments top-to-bottom rather than bottom-to-top as PostScript usually
is, as well as redefining the print area to be the bitmap area which
required the 'gsave' above the logo code and the 'grestore' and 'rc
pagesave restore' commands below. I don't know much about PostScript
programming, but I understand enough to get this to work. Trial-and-error
was my crutch here.
Notes on un-implemented RelayFax features:
- 1) RelayFax allows for multiple recipients of the same fax. Although I
haven't tested it, I doubt that my .procmailrc will function appropriately
if more than one recipient is included. I plan on implementing this some
- 2) RelayFax server did provide some means of username-password security,
and there are fields in the body of the e-mail to provide this information.
My .procmailrc doesn't utilize this. Does anybody have a good idea on how
to implement this into .procmailrc in a compact manner?
- 3) RelayFax uses Microsoft Cover Page Editor to create personalized CPE
cover pages which are sent also as attachments with the e-mail. I'd like
to see this implemented also, but CPE file format knowledge is critical for
CPE-to-PostScript conversion. Does any one know how to find this file
- 4) RelayFax uses the FAXSUBJECT keyword as a way to pass information along
to the RelayFax server rule set. This isn't implemented now, but could be
easily implemented to provide for other sendfax options in .procmailrc
- 5) RelayFax client allows the attachment of anything to the e-mail in
addition to the fax.tif file and expects that the RelayFax server
understands how to interpret it. As stands, this will not work. My
.procmailrc file only faxes the fax.tif file.
Notes on unimplemented HylaFAX features:
- 1) fax credits
- 2) sendfax -a
- 3) lots of others... all of these could be implemented, though
Notes on bugs or drawbacks:
- 1) Some of the new patches help the tiff2ps conversion (so that tiff images
end up top-justified rather than bottom-justified), libtiff 3.5.x
compatibility, and RTN fixes (with which I haven't had problems). I'm
anxious for the release of a beta3 RPM.
- 2) HylaFAX uses some port for WHFC or Respond communication for client
setup. Since clients send faxes via e-mail, this port can be closed up for
HylaFAX use, and HylaFAX can be configured to accept out-bound fax requests
by way of e-mail only. This will tighten up security a bit.
That's about it...
Thanks for the help and for HylaFAX