Personal tools
HylaFAX The world's most advanced open source fax server

Handbook:Server Operation:Sending Faxes

Revision as of 17:05, 4 December 2006 by Paymon (talk | contribs) (I've corrected some html syntax errors)

One of the many reasons for using HylaFAX is for the ability to submit faxes from any networked computer, in any order, and in any quantity. HylaFAX will work away at them without anyone ever walking to a fax machine, and better yet, nobody will be wasting their time watching paper pass through it... page after page after boring page. If there's a busy signal or no answer, HylaFAX will try later, no need to remember in a few minutes. HylaFAX remembers its job well.

HylaFAX server must interact with a client program of some kind to receive its faxing instructions. These client programs may reside on another computer, on the same system as HylaFAX server, or (as in most cases) a combination of client programs both on the HylaFAX system and off work together for proper fax sending.

This section deals with several different approaches to this task. However, it is advisable to at least understand the basics of the HylaFAX client programs themselves, as sent-fax problem debugging and troubleshooting is best done at that level first. The essential HylaFAX client programs with which to be familiar are: faxcover(1), faxmail(1), faxrm(1), faxstat(1), and especially sendfax(1). A good reading would also include hylafax-client(1).

For another HylaFAX client list, see Client_Software

*NIX Clients

  • HylaFAX itself, of course! Read sendfax(1). Typical usage would be something like:
    'sendfax -f "" -R -r "faxsubject" -c "coverpage comments" -x "Recipient's company" -d "Recipient@1234567"' where is a valid e-mail address for the sender, 1234567 is the number where to fax, and is the image file to be faxed. Standard HylaFAX-compatible file formats are ASCII, TIFF, PostScript, and PDF (in versions newer than 4.1beta2). Be aware that sendfax is capable of handling multiple -d options and that only the options that precede it apply to that instance of the -d. In most cases the -d option is the last option that should be used.
  • SuSEFax - See the printed SuSE manual for SuSEFax information.
  • tkhylafax is a popular Unix/X11 tcl/tk interface to HylaFAX. Get it at See a screen shot here.
  • ksendfax - RPMs are available at RedHat's ftp, also.
  • GFax - Front End Gnome Fax Software For Linux. Requires Gnome 1.2 or newer such as the Helix release.

Windows Clients

  • WHFC - See for documentation and installation information. See for downloading.
  • RelayFax - RelayFax is a commercial product sold by Alt-N Technologies. It has its own fax-server software, but because it uses an email-to-fax method, the RelayFax client software may be used in conjunction with a HylaFAX server using sendmail and procmail. See for more information.
  • Cypheus from Bodo Noering is for Windows. It is quite versatile, feature-rich, and has been well-supported. Cypheus serves well as a fax administrator utility. Get it from
  • HylaFSP - A simple, user-friendly client for faxing from Windows 2000/XP. HylaFSP plugs directly into Microsoft's own 'fax services' and includes support for coverpages (via Microsoft's coverpage editor), local and shared contacts, and generates high-quality TIFF output for great looking faxes. Homepage is at
  • Respond and adiXein - Uses a Samba share on the HylaFAX server to send print jobs to the faxing scripts. See for Respond and for adiXein.
  • w2hfax - w2hfax is a versatile HylaFAX client, allowing sending files directly or sending a fax via printer driver; view incoming and outgoing fax; cancel and delete fax from the incoming, outgoing or sent folder; viewing job details; and address books. See
  • Winprint HylaFAX is a GPL Windows print monitor designed to send its output directly to a HylaFAX Server. See:

Mac Clients

Cross-Platform Clients

Email-To-Fax Configuration

  • faxmail - faxmail is a HylaFAX client program which takes an electronic mail message on standard input and converts it to PostScript in a form that is suitable for transmission as a facsimile. Read the man page: faxmail(1). In order to use faxmail as an email-to-fax gateway, typically some degree of "sendmail mangling" must be done. See and for more information.
  • email-to-fax with procmail - If procmail is your mail delivery agent (MDA), then you can easily configure it to handle outbound faxes by setting up a dedicated user account for faxing out and placing appropriate recipes in that user's $HOME/.procmailrc file. Outbound faxes are then e-mailed to this user account. This is how the above-mentioned RelayFax client works, which already has a simple generic email-to-fax capability built-in.

Faxing From Samba

It is possible to send a (Hyla)FAX by printing to a Samba-defined fax-printer using a Windows client. This is the recipe:

  • Manual:
    1. Make up your document (text, pictures, whatever) on a Windows (-alike) client.
    2. ANYwhere in your text, specify the fax number you want to send the document to, i.e.:
       Fax-Nr : 012-345-6789
    3. Print, using a Postscript driver, to the printer on your HylaFAX server system.
    4. As soon as the fax has been sent, you will be notified by email. If a failure occurs, an email will be sent to you too.
  • Prerequisites:
    1. We assume you have a "standard" *NIX and HylaFAX setup.
    2. You have a standard Windows-like client i.e., 95, 98, ME, NT, or 2000. OS/2 will also work fine, as long as it supports drive sharing.
    3. You use the Samba package to share system resources with the clients - and it is working fine already, meaning that you can log-on as a client.
  • To setup do the following:
    1. Put the following lines in /etc/printcap and delete (if applicable) any other faxprinters:

    Note: due to some UNIX history the directories /var/spool/ and /usr/spool/

    contain the same information, so you use the one that is already present on your machine.

    2. Store this script as /var/spool/hylafax/bin/sambafax, or in the /bin directory of your HylaFAX tree (but then adjust the path in printcap). Make sure the script is executable, using "chmod +x sambafax".

    3. restart lpd and samba

    4. On your client, install a new printer with a postscript driver (like an Apple Laserwriter) to print to \\YOURSERVER\faxlp

    5. Create a fax using your favorite wordchewer and take up a line like:
       Fax-Nr : 012-345-6789
    and print to your new faxprinter.

  • Note 1: The sambafax program will look for the following syntax in the printfile:
    ...text>FAX-NR<1 or 2 spaces>:<1 or 2 spaces><fax number><text...

    The search is case-insensitive. The first non-nummeric, non-dash in the fax number will terminate the number.

  • Note 2: If you print with a Postscript driver, the output sent to the HylaFAX server is ASCII, a lot of control sequences, and your text in-between. Some printer drivers break up the lines in your text (because postscript does not care about CRLF's). If that happens, the faxnumber will not be located. If using the Windows Apple Laserwriter driver, use the EPS Postscript option.
  • Note 3: for the same reason, the textual makeup must be the same for the complete FAX-NR line!

If there are any difficulties or questions, do not hesitate to contact Ignace Suy
<A HREF=""></A>

He has provided a sambafax web-site at: Please refer to it for the most up-to-date information. If you are working with it, drop him a line.

Sambafax is now suited to run under the printing systems lpd, LPRng and CUPS. For CUPS the installation is somewhat different. Refer to the website above.

Faxing via IBM AS/400

Although a true HylaFAX client for AS/400 is not available (more tests with the gnu-hylafax java client are scheduled), you can send facsimiles as print jobs to the HylaFAX server. To do this, some things have to be done but for now a little note.

I tested this with Red Hat Linux but using a different distros will not present to much difficulties. The feedback that I received from earlier version of this howto is that most of the people are not AS/400 experts which is not a problem but some language that I use in the steps for AS/400 setup make sense in that platform. Ask if you needed any explanation.

  • AS/400 procedures:
    1. Create an output queue like is presented here outq.txt and be sure that LPD package is installed and running.
    Note: In outq.txt you will find the follow line Workstation costumization object....: LINUXOUTQ2
    This applys only for specific national character map like portuguese, italian ,etc,etc. AS/400 use EBCDIC internally and needed a little help to know that linux use ASCII ;-). Any table can be modified but I sugest changing the 860 map table.
  • Linux:
    1. Check if you have enscript installed.
    2. Check if lpr is installed and running.
    3. Add a printer.
    4. Modify the entry for that printer in printcap to match the script as400pscript where the job from AS/400 is redirected to create the fax and hylafax is called. Read carefully the script, you will save yourself time and headashes. Here is my printcap for guidance,

    Note: The PATHs applies to RH7.x. Don't forget to restart lpd deamon.

    Last notes: If you want more control accessing lpd services in the linux box, use LPRng package. The as400script, by default, merge the text from AS/400 with a file where is stored the company logo. If you only want send text, disable the merge text+companylogo process (read carefully the as400script). When merging logos with text, remember, you MUST create the logo file in EPS, Encapsulated Postscript, format.
    This was done with Red Hat 7.0, lprng 3.7.4, kernel 2.2.16-22, keyboard pt-latin1, AS400 V4R5.

  • Improvement: Rob Sherman changed the as400script to enable multi-page faxing,i e,if you needed same fixed text(only) in every page. If you are good in postscrip, doing this for graphics it will be easy. Read carefully the script and place the ACKFORM.hdr file in $PATH/enscript/. Pay attention that in AS/400 you must specifie your job as ACKFORM. In the as400script2 the ACKFORM.hdr file is invoqued here /usr/bin/enscript --fancy-header=$FNAME where in FNAME is stored the hdr name file, ACKFORM.

This section was contributed by
Pedro Roçadas <A HREF=""> </A>
Pedro thanks Giulio Orsero for his assistance on this task.

Powered by MediaWiki
Attribution-ShareAlike 2.5

Project hosted by iFAX Solutions