SENDFAX(1)

๐Ÿ’Œ sendfax โ€” like, the SENDFAX(1) situation โœจ

okay bestie, buckle UP, because this is the general commands manual page for sendfax, and it's lowkey a whole personality. ๐ŸŽ€


๐ŸŒธ NAME ๐ŸŒธ

sendfax โ€” submit a facsimile job for transmission ๐Ÿ’…


โœจ SYNOPSIS โœจ

sendfax [ options ] [ files... ]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay so. sendfax submits one or more facsimile transmission requests to a HylaFAX facsimile server. that's the whole gig, and it ate. ๐Ÿ”ฅ

depending on how you invoke it and how the server is configured, sendfax may prompt you for a password and an admin password. not me being nosy, it's just how it works. ๐Ÿ™ˆ

requests are normally processed immediately, but they can also be queued for transmission at a later time, using a syntax identical to the at(1) command. iconic behavior honestly.

for every job that gets queued, sendfax prints a job identifier and a job group identifier on the standard output. a job identifier is the token by which jobs are identified within HylaFAX; job group identifiers are used to reference a set of jobs that have been submitted at the same time. you can hand those job and job group identifiers to the faxrm(1) command to remove the jobs, or to the faxalter(1) command to alter job parameters. so they're like... your little receipts. keep them. ๐Ÿงพ๐Ÿ’–

facsimiles are made from the concatenation of a cover page (see below, bestie) and one or more files specified on the command line. if you supply no files on the command line, sendfax will read data from the standard input โ€” unless polling is requested. (polling is a whole different vibe, we'll get there.)

cover pages are distinguished for the purpose of generating ``continuation cover pages'' on the server. these are makeup cover pages that are automatically generated if a job fails after sending the original user-specified cover page. yes, the server does its own touch-ups. ๐Ÿ’„

sendfax passes POSTSCRIPTยฎ and TIFF documents directly through to the fax server for transmission, and attempts to convert other file formats to either POSTSCRIPT or TIFF. in normal operation, sendfax automatically converts:

  • ASCII-text
  • troff(1) output
  • Portable Document Format (PDF)
  • Silicon Graphics format images

support for other file formats can be easily added through an extensible file typing and conversion facility; see typerules(5F). and bestie, note that since TIFF Class F documents are processed directly, it is simple to forward a received facsimile. so convenient, we love. ๐Ÿซถ

by default, sendfax will generate a cover page for each facsimile that is to be transmitted. this cover page is created by the ancillary faxcover(1) program using information deduced by sendfax and by information supplied on the command line. automatic cover page generation may be suppressed with the -n option. (yes, you heard that right, -n is real, it just lives further down the page.)

in addition to sending documents, sendfax can be used to poll a remote facsimile machine to retrieve waiting documents. if the -p option is specified, a polling request will be submitted to each destination. if a poll request is made in conjunction with the transmission of documents, the poll request will take place after the documents are transmitted. documents retrieved by polling are returned to the requestor by electronic mail and may be viewed with a suitable viewer program. ๐Ÿ“ฌโœจ

one or more destinations must be specified on the command line using the -d option. a destination is the dialing string to use to contact the remote fax machine. phone numbers may include non-alphanumeric characters for readability โ€” only alphanumerics, +'' (for denoting a country code), and #'' (for denoting a subaddress) are significant in placing a call. alphabetic characters are automatically mapped to their numeric key equivalents: abcABC'' to 2'', defDEF'' to 3'', etc. ๐Ÿ’€ yes, it's T9. it's giving 2004.

dialing prefixes, such as 1'' and 011'' (for long distance calling in the United States) need not be included if an unambiguous number is specified. examples of unambiguous phone numbers are:

+31.77.594.131      to call the Netherlands
+14159657824        to call California
9657824             to make a local call
1-215-356-1666      to call Pennsylvania from within the US

non-numeric strings, such as ``*70'' (to defeat call waiting), may be included in the destination phone number. whether or not they are stripped from the string used to dial the destination fax machine is dependent on the dialstring rules configured for use on the server; c.f. hylafax-config(5F) and dialrules(5F). iykyk. ๐Ÿ‘‘

a destination may also be specified as user@fax-number. in this case the user string will be passed to faxcover as the identity of the recipient. note that multi-word names must be enclosed in quote marks; for example, ``Sam Leffler@+1.415.555.1212''. ๐ŸŒˆ


๐Ÿšจ the order of options is SO significant ๐Ÿšจ

like genuinely, do not skip this part, it will humble you.

the order of options on the command line is significant. each fax to be transmitted is assigned the current value of parameters specified on the command line; e.g. whether or not to generate a cover page. this means that options that specify parameters for a particular destination must precede the dialstring specified with the -d option. for example:

sendfax -n -d 5551212 /etc/passwd

submits a fax to 5551212 that has no cover page, while:

sendfax -d 5551212 -n /etc/passwd

submits the same fax but with the default cover page handling. same command, different order, different outcome. the way that ordering changes literally everything... ๐Ÿ˜ญ

note also that parameter values persist across -d options, so the following:

sendfax -n -d 5551212 -d 5551313 /etc/network

submits two facsimiles, both of which have no cover page. sticky settings, we stan a consistent queen. ๐Ÿ’…


๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -1 โ€” transmit facsimile documents using 1-D MH compression. by default HylaFAX will use the optimal compression scheme supported by the transmitting modem and receiving facsimile device.
  • -2 โ€” transmit facsimile documents using 2-D MR compression, if possible. by default HylaFAX will use the optimal compression scheme supported by the transmitting modem and receiving facsimile device.
  • -3 โ€” transmit facsimile documents using 2-D MMR compression, if possible. by default HylaFAX will use the optimal compression scheme supported by the transmitting modem and receiving facsimile device.
  • -a time โ€” schedule transmission up to one year in advance at the indicated time. time is specified in the format: HH:MM [AM|PM] | now [+ N period | month DD | dayofweek ] [ @ timeofday ]ยดยด where *month* can be Jan(uary), Feb(ruary), Mar(ch), Apr(il), May, Jun(e), Jul(y), Aug(ust), Sep(tember), Oct(ober), Nov(ember), or Dec(ember); *period* can be minute(s), hour(s), day(s), week(s), or month(s); *dayofweek* can be Mon(day), Tue(sday), Wed(nesday), Thu(rsday), Fri(day), Sat(urday), Sun(day); e.g. now + 30 minutesยดยด to schedule transmission 30 minutes in the future. trailing information in the time field (such as YYYY) is ignored. by default, sendfax schedules facsimile for immediate delivery. time should be given in the user's local time. conversely, the timeofday field restricts the job from sending at various times relative to the server. the syntax for timeofday is identical to the TimeOfDay syntax found in hylafax-config(5F). โฐ
  • -A โ€” archive the job on the server according to the bin/archive script when the job is done. ๐Ÿ—‚๏ธ
  • -b speed โ€” transmit facsimile documents using a signalling rate that is constrained to be at least speed bits/second. if the specified speed is greater than the transmitting modem or receiver is capable of, it is reduced to the highest possible speed both devices support. if a negotiated signalling rate greater than or equal to speed cannot be negotiated then the job is aborted. possible speeds are: 2400, 4800, 7200, 9600, 12000, 14400, 16800, 19200, 21600, 24000, 26400, 28800, 31200, and 33600. by default HylaFAX will use the fastest possible rate supported by the transmitting modem and receiving facsimile device.
  • -B speed โ€” try to transmit facsimile documents using the desired signalling rate. possible speeds are: 2400, 4800, 7200, 9600, 12000, 14400, 16800, 19200, 21600, 24000, 26400, 28800, 31200, and 33600. if the specified speed is greater than the transmitting modem or receiver is capable of, it is reduced to the highest possible speed both devices support. by default HylaFAX will use the fastest possible rate supported by the transmitting modem and receiving facsimile device (unless restricted by other server configuration); this option can be used to reduce the speed. note that international calls are frequently more reliable when transmissions are restricted to 9600 bits/second. for Class 1/1.0 devices, if the specified speed is not greater than 14400 then V.34 will not be attempted, and if the specified speed is 9600 or 7200 then V.29 will be assumed in lieu of V.17. ๐Ÿ”ฅ
  • -c comments โ€” pass comments to the faxcover(1) program for inclusion in the comments field of any generated cover page. ๐Ÿ“
  • -C file โ€” pass file to the faxcover(1) program for use as the cover page template. ๐ŸŽจ
  • -D โ€” enable notification by electronic mail when the facsimile has been delivered. by default HylaFAX will notify the submitter only if there is a problem with a job. ๐Ÿ“ง
  • -d destination โ€” create a job to transmit the supplied documents to a facsimile machine at the indicated destination. if the destination is of the form ``user@phone-number#subaddress'' then any cover page will show user as the intended recipient, and the remote system will be supplied the subaddress value (i.e. for routing) provided that the sending modem and the receiving system support it. ๐Ÿ“ 
  • -E โ€” disable use of the Error Correction Mode (ECM) when transmitting page data. setting ECM to false will limit the maximum speed to 14400 bps. by default HylaFAX will attempt to use ECM when both the transmitting modem and receiving device support it. note that international calls are sometimes faster when ECM is disabled. beware also that some modems and/or facsimile devices do not properly implement ECM causing transmission failures. ๐Ÿ˜ฌ
  • -e name โ€” use name as the name value in the outbound call identification. ๐Ÿชช

ok that's part 1 bestie, there's more coming, don't go anywhere ๐Ÿ’–
  • -f from โ€” okay so this is the identity glow-up for the sender ๐Ÿ’…. Normally the sender is just whoever ran sendfax, but this lets you be someone else. That from is an account name where HylaFAX should send all the notification messages, and it can honestly be a whole entire From: line โ€” like, Joe Blow <joe@foo.com> and joe@foo.com (Joe Blow) are both completely acceptable. If you don't put a host-part in there, the local hostname gets used, no cap. Bestie, this is the one for when sendfax is running on behalf of another user โ€” think an email-to-fax gateway situation. ๐Ÿซถ
  • -F format โ€” pick the format used when imaging tag lines on your outgoing pages โœจ. For how to actually build that format string, go read the TagLineFormat parameter in hylafax-config(5F), that's the whole manual on it. Also, real talk: a lot of locales require proper identification to show up on every transmitted facsimile, so when you use this, always include proper identification (like a phone number) in the imaged taglines. Don't skip that part. ๐Ÿ“ž
  • -G โ€” turn on usage of any extended resolutions the receiver can handle ๐Ÿ”ฅ. Heads up though, -G supersedes any -l or -m option you passed โ€” it wins, periodt. And beware: more resolution means more transmission time, it's giving "worth it but slower." โณ
  • -h [modem@]host[:port] โ€” force the jobs to be processed on one specific host, and optionally on one particular modem ๐ŸŽฏ. The host can be a symbolic name or a network address. IPv6 addresses go in the [xx:xx::x]:port format, yes with the brackets, that's the vibe. If you don't hand over a -h, sendfax uses the FAXSERVER environment variable to figure out which HylaFAX server the jobs should be directed to. If there's no server specified at all, it tries to contact a server on the local host. And if no modem is specified, the job gets submitted to any available modem โ€” first come, first served energy. ๐Ÿฆ‹
  • -i identifier โ€” use the identifier string in any notification messages instead of the usual job identifier number ๐ŸŒธ. This one's a gift for applications that cross-reference notification messages against job submissions. Super useful, iykyk.
  • -I time โ€” if a job has to be requeued because of a communication failure, schedule that retry according to the specified time โฐ. Times are in seconds, and you can slap on min, hour, and day suffixes for minutes, hours, and days respectively. By default HylaFAX reschedules jobs with retry times that depend on how the job failed; this interface lets a user override that whole algorithm and specify one single fixed retry time for all communication failures. One number to rule them all, iconic.
  • -k time โ€” kill the job if it doesn't complete in the indicated time ๐Ÿ’€. The time is specified using notation identical to the -a option. Note that the time is relative to the time of the initial time-to-send. The default kill time is now + 3 hours โ€” that's three hours from the time the job is first processed. Wanna retry for an hour? now +1 hour could be used. Easy.
  • -l โ€” transmit the facsimile at a vertical resolution of 98 lines/inch, otherwise known as low resolution โœจ.
  • -m โ€” transmit the facsimile at a vertical resolution of 196 lines/inch, otherwise known as medium resolution or fine mode ๐ŸŽ€.
  • -M mst โ€” transmit facsimile documents using the specified minimum scanline time ๐Ÿ‘‘. Possible times are: 0ms, 5ms, 10ms2, 10ms, 20ms2, 20ms, 40ms2, and 40ms. If the time you specify is less than what the transmitting modem or the receiver can actually do, it gets increased to the lowest possible time both devices support โ€” no fighting the hardware. By default HylaFAX uses the lowest possible time supported by the transmitting modem and the receiving facsimile device (unless it's restricted by other server configuration). Ngl this option is mostly useful for debugging. ๐Ÿ™ˆ
  • -n โ€” suppress the automatic generation of a cover page for subsequent facsimile ๐Ÿ™…. Note that polling requests do not receive a cover page unless they're combined with the transmission of one or more files. Facts.
  • -N โ€” do not notify the sender by electronic mail when the facsimile has been delivered or requeued ๐Ÿ“ญ. Silent mode, main character energy.
  • -o login โ€” specify the fax owner login name, replacing any FAXUSER environment variable that may be set for the same purpose ๐Ÿ’œ. If neither is specified, the user's current login name is used. You can also provide the login password by separating it from the owner login name with a colon, like owner:pass. Cute.
  • -O option:value โ€” submit option with the indicated value as a job parameter in the client-server protocol for the job ๐Ÿ› ๏ธ. You can use this command-line option multiple times โ€” stack 'em. The following options are currently supported:
    • ignoremodembusy (boolean) โ€” whether or not to ignore modem busy status (requires server configuration to allow)
    • nocountcover (integer) โ€” don't include this number of initial pages in the page counting
    • serverdocover (boolean) โ€” whether or not the server should generate the cover-page, if configured
    • skippages (integer) โ€” assume this number of pages in the first document have already been sent
    • skippedpages (integer) โ€” assume this number of pages in unsubmitted documents were previously sent
    • usecolor (string) โ€” whether or not to use color ("yes"/"no") and only color ("only")
    • usesslfax (string) โ€” whether or not to use SSL Fax ("yes"/"no")
    • config (string) โ€” override configuration with this setting
    • timezone (string) โ€” time zone locale setting to use in tagline formatting
    • probeonly (integer) โ€” "1" terminates once a fax call is established, "2" when handshaking received
  • -p โ€” poll each destination for any available documents ๐Ÿ‘€. If a poll request is made together with document transmission, the poll operation happens after the documents are transmitted. Documents received by polling are returned to the sender by electronic mail. Free mail, slay. ๐Ÿ“ฌ
  • -P priority โ€” assign the specified scheduling priority to subsequent jobs โš–๏ธ. A priority is an integer value in the range [0-255], and lower values result in higher priority processing. By default, each job gets 127 as its initial scheduling priority. Here's the tea: if a job's priority is greater than bulk faxes, then the job's priority is raised (numerically lowered) for each failed attempt to transmit, so retransmit attempts get done ahead of newly submitted jobs. In the case of bulk faxes (numerically higher than 190), the job's priority is lowered (numerically raised) for each failed attempt to transmit, so that the whole of the bulk-queued jobs will be attempted before any are retried. You can also name it symbolically: default or normal (127), bulk or junk (191), low (190), or high (63). Pick your fighter. ๐Ÿ”ฅ
  • -R โ€” enable notification by electronic mail when the facsimile has been delivered and when it's requeued for retransmission ๐Ÿ“ฉ. By default HylaFAX notifies the submitter only if there's a problem with a job โ€” so this is opting into the full play-by-play. Obsessed.
  • -r regarding โ€” pass regarding to the faxcover(1) program as the value of the Re: field of any generated cover page ๐Ÿ’Œ.
  • -s size โ€” set the page size to use for the transmitted facsimile ๐Ÿ“. Facsimile are normally imaged with a system-default page size (usually letter-size pages, 8.5" by 11", for sites in North America). Alternate page sizes are specified symbolically using either the name or abbreviation of an entry in the pagesizes(5F) database; e.g. a3 (ISO A3), a4 (ISO A4), a5 (ISO A5), a6 (ISO A6), b4 (ISO B4), na-let (North American Letter), us-leg (American Legal), us-led (American Ledger), us-exe (American Executive), jp-let (Japanese Letter), and jp-leg (Japanese Legal). Comparisons are case-insensitive and any match of a substring of the full page-size name is sufficient; e.g. legal would match American Legal. โœจ
Note that it may not be permissible to image into the full page area โ€” the guaranteed reproducible area for a page is typically inset. Also note that while arbitrary page sizes can be specified through the page size database, only a limited set of page dimensions are supported by the Group 3 facsimile protocol. So if an odd-size facsimile is submitted for transmission, it may not be possible to determine if it can be sent until the fax server establishes communication with the remote facsimile machine. ๐Ÿ˜ญ
  • -S tsi โ€” pass tsi to the server as the suggested sender identification to be used, for example, in tagline imaging and fax protocol ๐ŸŒˆ.
  • -t tries โ€” make no more than tries attempts to send the facsimile ๐ŸŽฏ. Quick definition, bestie: a try is a call in which carrier is established and the facsimile protocol is commenced; this is contrasted with a call attempt that might have failed because the line was busy. Without specifying a tries value to the server, HylaFAX will, with some exceptions, make an unlimited number of attempts to completely send the facsimile before the kill time expires. The exceptions are that HylaFAX will terminate a job if 3 consecutive attempts to send a particular page fail, or if it appears the receiver is not a facsimile machine. Use -1 to indicate that no tries value should be specified to the server. ๐Ÿ‘‘

  • -T maxdials โ€” okay so this one caps how many times you're allowed to try dialing before we give up on sending the fax. Like, "no more than maxdials calls in attempting to send the facsimile," periodt. By default, HylaFAX will redial 12 times before killing a job ๐Ÿ’€. And if you wanna say "actually server, no maxdials value for you," you pass -1. Use -1 to indicate that no maxdials value should be specified to the server.
  • -U voice-no โ€” hands voice-no over to the faxcover(1) program, and it becomes the sender's voice number. Bestie's phone number on the cover sheet, slay ๐ŸŽ€.
  • -u number โ€” uses number as the number value in the outbound call identification, and also in tagline generation. So it's lowkey your caller-ID flex and your tagline glow-up at the same time โœจ.
  • -V voice-no โ€” passes voice-no to the faxcover(1) program as the destination person's voice number. That's the person you're faxing, not you ๐Ÿซถ.
  • -w โ€” wait for the job to be fully done before the sendfax session ends. The way that this works: if you use this option, the sendfax process will not terminate until the job is completed. Main character patience energy, no cap โณ.
  • -W fax-no โ€” passes fax-no to the faxcover(1) program as the sender's fax number. Your fax digits, front and center ๐Ÿ’….
  • -x company โ€” passes company to the faxcover(1) program as the destination company name. Lowercase x = them, the receiver ๐Ÿ“.
  • -X company โ€” passes company to the faxcover(1) program as the sender's company name. Uppercase X = you, the one doing the sending ๐Ÿ‘‘. Yes, case matters, always has, always will.
  • -y location โ€” passes location to the faxcover(1) program as the destination company's location. Lowercase y = where they are ๐ŸŒธ.
  • -Y location โ€” passes location to the faxcover(1) program as the sender's company location. Uppercase Y = where you are ๐Ÿฆ‹.
  • -z filename โ€” reads destinations straight out of filename, which contains a list of the destinations formatted identically as destinations for the -d option, one per line. Usage of this option is similar to the -d option, and you can absolutely do it in conjunction with other -d and -z options. Mix and match, it's giving versatility ๐Ÿ”ฅ.
  • -v โ€” prints info on the standard output about each conversion and cover sheet generation operation it does. So you get the play-by-play ๐Ÿ“ฃ. And here's the tea: if -v is specified twice, the protocol between sendfax and the hfaxd server process that does the submission work on the remote machine is also displayed. Double -v = full lore, iykyk ๐Ÿ’œ.

๐Ÿ› ๏ธ CONFIGURATION PARAMETERS ๐Ÿ› ๏ธ

okay so sendfax is a lil nosy (affectionately ๐Ÿ’–) โ€” it goes hunting for its config in these files:

  • /etc/hylafax/hfaxd.conf
  • /etc/hylafax/hyla.conf
  • /etc/hylafax/sendfax.conf
  • ~/.hylarc

...and it reads them in that exact order, bestie. Whichever one gets read later wins, so a later setting straight-up supersedes anything that got read before it. no cap. ๐Ÿ“

These files follow the conventions described in hylafax-client(1).

Here's the whole roster of parameters it recognizes โ€” the ones with a ยน next to them are not available in /etc/hylafax/hfaxd.conf:

Tag              Type       Default      Description
AutoCoverPage    boolean    Yes          automatically generate cover page
ChopThreshold    float      3.0          page chopping threshold
CoverCmd         string     see below    pathname of cover sheet program
Cover-Comments   string     -            cover page comments string
Cover-Companyยน   string     -            cover page to-company name string
Cover-Locationยน  string     -            cover page to-company location string
Cover-Regarding  string     -            cover page regarding string
Cover-Template   string     -            cover page template filename
Cover-Voiceยน     string     -            cover page to-voice number string
Cover-From-Companyยน         string       -cover page from-company string
Cover-From-Locationยน        string       -cover page from-location string
Cover-From-Voiceยน           string       -cover page from-voice number string
Cover-From-Faxยน  string     -            cover page from-fax number string
DateFormat       string     -            cover page date format string
DesiredEC        integer    2            desired type of ECM
DesiredMST       string     -            desired minimum scanline time to use
DesiredSpeed     integer    -            desired signalling rate to use
DialRules        string     see below    file containing dialstring rules
From             string     -            sender's identity
HRes             float      204.         horizontal resolution
Host             string     localhost    host to contact for service
KillTime         string     -            time to expire job
MailAddr         string     -            mail address for notification messages
MaxDials         integer    12           times to retry dialing
MaxTries         integer    3            times to retry transmission
MinSpeed         integer    -            minimum acceptable signalling rate
Modem            string     -            modem to use on server
Notify           string     none         control email notification
PageChop         string     default      control page chop handling
PageLength       float      -            page length in millimeters
PageSize         string     default      page size by name
PageWidth        float      -            page width in millimeters
PassiveMode      boolean    false        whether or not to use passive mode
Port             integer    4559         port to use in contacting server
Priority         string     default      job scheduling priority
Protocol         string     tcp          protocol to use in contacting server
RetryTime        string     -            delay between failed attempts to send
SendTime         string     -            time to send job
TagLine          string     -            tagline format string
Timeout          integer    3600         timeout in seconds waiting for server response
TSI              string     -            sender identification to use
TypeRules        string     see below    file containing file typing rules
VRes             float      98.          vertical resolution
Verbose          boolean    No           whether or not to enable protocol tracing

All of those get explained below, one by one. ๐Ÿซถ Heads up tho: some of these parameters โ€” especially the ones that set strings on automatically generated cover pages โ€” are defined mainly for use by other HylaFAX programs that share common code used by sendfax. iykyk.

  • AutoCoverPage โ€” controls whether or not a cover page gets automatically generated for every job. (Same energy as the -n option.) โœจ
  • ChopThreshold โ€” how much white space, measured in inches, has to be sitting at the bottom of a page before HylaFAX will even attempt to truncate the page transmission. like it needs a runway, ok.
  • CoverCmd โ€” the absolute pathname of the program used to generate cover pages. The default cover sheet program is /usr/bin/faxcover.
  • Cover-Comments โ€” the comments string that gets passed to the cover sheet program when auto-generating cover pages.
  • Cover-Company ยน โ€” the to-company name string passed to the cover sheet program when auto-generating cover pages.
  • Cover-Location ยน โ€” the to-company location string passed to the cover sheet program when auto-generating cover pages.
  • Cover-Regarding โ€” the regarding string passed to the cover sheet program when auto-generating cover pages.
  • Cover-Template โ€” the absolute pathname of a cover sheet template file to use when auto-generating cover pages.
  • Cover-Voice ยน โ€” the to-voice number string passed to the cover sheet program when auto-generating cover pages.
  • Cover-From-Company ยน โ€” the from-company name string passed to the cover sheet program when auto-generating cover pages.
  • Cover-From-Location ยน โ€” the from-location string passed to the cover sheet program when auto-generating cover pages.
  • Cover-From-Voice ยน โ€” the from-voice number string passed to the cover sheet program when auto-generating cover pages.
  • Cover-From-Fax ยน โ€” the from-fax number string passed to the cover sheet program when auto-generating cover pages.
  • DateFormat โ€” the strftime(3) format string passed to the cover page command when auto-generating cover pages. ๐ŸŒธ
  • DesiredEC โ€” which type of the optional Error Correct Mode (ECM) to use when transmitting facsimile. 0 to disable it, 1 for 64-byte ECM, and 2 for 256-byte ECM (that's the default ๐Ÿ‘‘).
  • DesiredMST โ€” the desired minimum scanline time to use when transmitting facsimile. (Equivalent to the -M option.)
  • DesiredSpeed โ€” the desired signalling rate to use when transmitting facsimile. (Equivalent to the -B option.)
  • DialRules โ€” the name of the file containing the dialstring processing rules used when preparing an externally visible representation of the dialstring (e.g. to strip credit card numbers ๐Ÿ’ณ โ€” yes bestie, it's hiding the digits). By default this is /etc/hylafax/dialrules.
  • From โ€” the sender's identity. (Equivalent to the -f option.)
  • Host โ€” the host to contact for service. (Equivalent to the -h option.)
  • HRes โ€” the horizontal resolution to use when transmitting facsimile. (NB: this currently has no effect. ๐Ÿ™ˆ iconic of it, honestly.)
  • KillTime โ€” the expiration time to assign to each job. (Equivalent to the -k option.)
  • MailAddr โ€” the electronic mail address to direct notification messages from the server. If this string is specified without an ``@hostname'' part, then the local hostname will automatically be appended. (Equivalent to the -f option.)
  • MaxDials โ€” the maximum number of times to dial the phone for each job. (Equivalent to the -T option.)
  • MaxTries โ€” the maximum number of times to retry sending a job. (Equivalent to the -t option.)
  • MinSpeed โ€” the minimum acceptable signalling rate to use when transmitting facsimile. (Equivalent to the -b option.)
  • Modem โ€” the modem to use on the server. (Equivalent to the -h option.)
  • Notify โ€” controls the email notification messages from the server. This string can be one of done'', none'', requeued'' or default'', with an optionally preceding when '' (like when done''). โš ๏ธ Note that when requeued'' implies when done''. (Equivalent to the -D, -R, and -N options.)
  • PageChop โ€” controls page chop handling when transmitting facsimile. This string can be one of none'', all'', or ``last'' โ€” which means no pages chopped, all pages chopped, or only the last page chopped, respectively. Page chopping itself is controlled by the ChopThreshold parameter. โœ‚๏ธ
  • PageLength โ€” sets the transmitted page length in millimeters.
  • PageSize โ€” sets the page dimensions according to an entry in the pagesizes(5F) database. (Equivalent to the -s option.)
  • PageWidth โ€” sets the transmitted page width in millimeters.
  • PassiveMode โ€” whether or not to use passive mode in communication with the server.
  • Port โ€” the network port to contact for service. (Equivalent to the -h option.)
  • Priority โ€” the scheduling priority to assign to each job. (Equivalent to the -P option.)
  • Protocol โ€” the name of the communication protocol to use when contacting a server. (Equivalent to the FAXSERVICE environment variable.)
  • RetryTime โ€” the time to delay between job retries that happen because of a communication failure. (Equivalent to the -I option.)
  • SendTime โ€” the time to send jobs. (Equivalent to the -a option.)
  • TagLine โ€” the tagline format string to use when transmitting facsimile. (Equivalent to the -F option.)
  • TSI โ€” the sender identification to use when transmitting facsimile. (Equivalent to the -S option.)
  • TypeRules โ€” the name of the file containing file type conversion rules. By default this is /etc/hylafax/typerules.
  • Timeout โ€” the timeout, in seconds, to wait for a server response.
  • Verbose โ€” controls protocol tracing. (Equivalent to the -vv option.)
  • VRes โ€” sets the vertical resolution in lines/inch to use when transmitting facsimile. (Equivalent to the -m and -l options.)

๐Ÿ’… DIAGNOSTICS ๐Ÿ’…

okay bestie, so sometimes stuff goes sideways, and when it does, sendfax is gonna tell you. These first ones are all about problems happening on your machine, the local one, the one you're sitting at rn. ๐Ÿ‘‡

  • Could not call server. โ€” the facsimile server on the remote machine justโ€ฆ didn't respond. ghosted you fr. ๐Ÿ’€
  • No input data; transmission aborted. โ€” nobody handed over any data (usually this means nothing showed up on the standard input). No facsimile is getting sent, periodt. Zero. None.
  • Error converting data; command was %s." โ€” a data conversion operation failed, and the shell command that was used gets printed right there for you.
  • Can not convert %s. โ€” the data needed converting before it could go out, but the required conversion rule was nowhere to be found. ๐Ÿ‘€ This might mean the HylaFAX software was installed incorrectly, or maybe an NFS-mounted directory is just temporarily unavailable. Not you, it's them (probably).
  • %s: Can not determine file type. โ€” sendfax could not figure out what type of file this even is. it's giving mystery. ๐Ÿ•ต๏ธ
  • %s: Not a regular file. โ€” the file is something other than a regular file. like, for example, a directory. wrong vibe entirely, bestie.

The following messages may be printed by sendfax. These ones describe problems the server process on the remote machine ran into. Lowkey important: this list is incomplete โ€” other messages can pop up from the server under unusual circumstances. โœจ


๐ŸŽ€ FILES ๐ŸŽ€

here's the whole lil family of files this thing messes with, no gatekeeping:

  • ~/.hylarc โ€” per-user configuration file
  • /etc/hylafax/hyla.conf โ€” system-wide configuration file
  • /etc/hylafax/sendfax.conf โ€” system-wide configuration file
  • /etc/hylafax/typerules โ€” file type and conversion rules
  • /etc/hylafax/pagesizes โ€” page size database
  • /etc/hylafax/dialrules โ€” optional client dialstring rules
  • /usr/bin/faxcover โ€” for generating cover sheets
  • /usr/bin/textfmt โ€” for converting text to PostScript
  • /usr/bin/sgi2fax โ€” for converting SGI RGB images
  • /var/spool/hylafax/tmp/sndfaxXXXXXX โ€” temporary files

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

go read these next, they're the whole friend group ๐Ÿซถ:

at(1), hylafax-client(1), faxalter(1), faxcover(1), faxmail(1), faxrm(1), faxstat(1), sgi2fax(1), textfmt(1), hfaxd(8C), hylafax-server(5F), typerules(5F)


and that's the whole page, bestie!! ๐ŸŽ€โœจ you officially know sendfax inside and out. this icon of a manual page is SENDFAX(1), dated January 06, 2001, and honestly? still serving. go fax something iconic. ๐Ÿ’–๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from