Using RelayFax as a HylaFAX Client
The major goal in this configuration was to reproduce and improve upon the server functionality of a
commercial Windows product called RelayFax and still use the client software. I was experiencing severe trouble with the RelayFax server in Windows.
The trouble was the general type had among Windows-based products: occasional crashes, hangups, failure to function, interference from
other programs, and especially so when uptime was greater than 24 hours.
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. I wanted to allow my workstations to continue to use RelayFax client, but
with HylaFAX functioning as the fax server.
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. If there is no attachment then the message text is faxed without the FAXPASSWORD
line. No cover page is generated. The body of the e-mail must contain the line:
where 'mypassword' is the appropriate password defined for your e-mail return-path username in the
faxuserlist file. The rest of 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.73, and Eudora Light.
Using the RelayFax client, if a custom fax cover page resides in the
$HOME directory of
the outbound fax account on the server,
which must be named identical to the client/sender's return path, for example named
then HylaFAX will be told to use this custom template instead of the default.
How To Do It:
- Install procmail and metamail. Many distributions come with these packages by default.
- Install HylaFAX.
- Create a new user for out-bound faxes to which RelayFax messages or fax-intended e-mails will be sent. This account's default shell should be [ba]sh.
- Create a folder called 'faxtmp' in this user's $HOME directory.
- Place my .procmailrc file, the .faxitrc file, and the faxuserlist file into this user's $HOME
directory. Many thanks go to Steve Glines for his help with these procmail recipes. Make sure
the .procmailrc, .faxitrc, and faxuserlist have ownership user.user and are not group-writable.
- Edit the faxuserlist file to reflect the e-mail addresses of valid fax users and their password that should be used in the RelayFax client.
- Make sure that procmail is your MDA, and if using smrsh, make sure that the appropriate link is made for procmail.
(If using RedHat, '
ln -s /usr/bin/procmail /etc/smrsh/procmail' should do the trick.)
- Install RelayFax client (downloadable at http://www.altn.com/download/default.asp) on each client machine and print to it
Notes on un-implemented features:
- 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 format information?
- fax credits - HylaFAX allows for a "credits" system to be used for monitoring fax usage, and
RelayFax can include billing information in the e-mail body. A commercial faxing service
could be set up this way, perhaps.
Caution, in order to provide for the attachment of random HylaFAX-compatible image files for
outbound faxing by the RelayFax client, all MIME attachments are converted to files by
metamail in the faxtmp directory, and all files in the faxtmp directory are faxed. RelayFax
places fax-sending information in the body
of the e-mail in an unnamed MIME part. Consequently, this information is also created as an
ASCII file in the fax. Metamail names this file as "mm.x" where x is randomly generated.
Therefore, files matching
mm.* in the faxtmp directory are deleted before sendfax is executed.
Do not name your fax attachments such that they match
That's about it...
Lee Howard firstname.lastname@example.org