sendfax(8)
π sendfax(8) β the mgetty+sendfax manual, bestie edition π
okay so hi babes, welcome to sendfax from the mgetty+sendfax manual set. This is the page that tells you how to yeet a Group 3 fax out into the world. Grab a snack, we're doing this. π¦
β¨ NAME β¨
sendfax β send group 3 fax files (G3 files) with a class 2 faxmodem
like, it faxes. that's the whole vibe. periodt.
π SYNOPSIS π
sendfax [-p] [-x<debuglevel>] [-v] [-l<modemlines>] [-m<initstring>]
[-d<polldirectory>] [-C<modemclass>] [-S] [-n] [-r] [-D<dialprefix>]
phone-number [g3file(s)]
yes bestie, that's a lot of brackets. we'll go through every single one, i promise.
π DESCRIPTION π
Send the named g3 fax files to the fax machine at "phone number". The g3 files can be created with pbm2g3(1) or GNU's GhostScript with the "digifax" driver.
that's it. that's the whole point of the program. you have the files, the phone number, and the sheer willpower to fax. π
π OPTIONS π
-pβ Tellssendfaxto try fax polling, that is, get any documents queued in the remote fax machine for you (used for weather maps and the like). it's giving "hey, do you have anything for me?" and honestly? iconic.-x <debug level>β Use the given level of verbosity for logging β0means no logging,5is really noisy. pick your chaos level, bestie.-vβ Give some progress report onstdout. little updates so you're not just staring at a blank terminal wondering if it's working. we love reassurance.-l <modem lines>β Use the given modem lines. Multiple lines can be separated by":". Example:sendfax -l tty1a:tty2a-m <initstring>β Send an additional init string. This string is sent right after initializing the modem and setting it into class 2 mode. You can use this to set the speaker value, some special registers, whatsoever. The modem must return"OK". If it returns"ERROR",sendfaxprints an error message and aborts. You do not have to prepend the"AT"prefix, but it won't do harm either. modem said OK or we're not doing this. no cap.-d <directory>β Specify the directory where polled fax files should go to. Defaults to"."for the current directory. Unused if not polling a fax. only matters if you're in your polling era.-C <class>β Tellssendfaxhow to treat the modem. Possible values for<class>are"auto"(default, try to find out which fax command set the modem supports),"cls2"(use the class 2 fax command set, even if the modem claims to support class 2.0) and"c2.0"(use the class 2.0 fax command set). Obviously,"data"(which is valid for"mgetty -C ...") is not of much use here. fr fr, don't try to fax in data mode, it's not that girl.-Sβ Assume modem connection onstdin, do not try to lock or initialize anything. To take over existing connection (for interworking withvgettyet.al.) use with a dial string of"T1"(just a short beep, no phone number at all would confuse many modems, a pulse dialed number may confuse the telco switch) and"-m ATX1"(do not wait for dial tone). this one's the "i already have a connection, don't touch anything" mode. very hands-off. very demure.-nβ Tellssendfaxto send the fax pages innormal'' (204x98 dpi) mode. Default isfine'' mode (204x196 dpi). lower res, the default is the nicer one. choose wisely π«Ά-rβ If this option is given,sendfaxwill rename all the fax G3 files to<filename>.doneafter successfully sending this. This is intended to be used from ``faxrunq'', to make sure that a partially-sended fax isn't retransmitted as a whole every time.
If this option is set, sendfax will not (!) complain if not all files named on the command line exist. read that again bestie β with -r it goes silent about missing files. that's a whole choice but okay.
-D <dial prefix>β Override the default (set bysendfax.configor inpolicy.h) for the'ATxxx'command to dial the remote number. This is rarely used from the command line, but you might want to use it in combination withfaxrunqd's policy routing option (see example infaxrunqd.policy(5)). deep lore option. iykyk.-M <max speed>β Sets the maximum transmission (modem to modem) speed. This is only needed in very rare cases, because normally the modems negotiate the correct speed automatically. Example:"-M 7200". let the modems talk it out, they usually handle it. only step in if it's being messy.-R <max tries>β Sets the maximum number of attempts to transmit a given page, beforesendfaxgives up on this page. Normally it's not needed to change this β the default is"(up to) 3 tries"and that works quite well for most environments. three strikes and the page is out. that's the default and honestly it eats.
πΈ CONFIG FILE πΈ
If compiled accordingly, sendfax can read all its configuration from at run-time from a file, usually called /etc/mgetty/sendfax.config. See the documentation in the mgetty.info manual for details.
yes, config can be a whole personality trait. check the mgetty.info manual for the details, bestie.
π DIAGNOSTICS π
sendfax returns an error code, according to the reason why the program terminated. If everything went OK, sendfax returns 0. If ``harmless'' errors (didn't cost money) occured, an error code below 10 is returned. If a dial attempt failed after the remote end picked up (it will cost money), a return code of 10 or higher is returned.
the vibe check: under 10 = you didn't lose money. 10 or over = the remote picked up and you're paying for this. π
In Detail, the return codes are as follows:
0β all pages have been transmitted successfully1β error on thesendfaxcommand line2β cannot open fax device (e.g. due to locked modem)3β cannot initialize modem (e.g. modem switched off)4β dialup failed withBUSY5β dialup failed withNO DIALTONE10β dialup failed withERRORorNO CARRIER(modem handshake failed)11β waiting forXONfailed (rarely seen)12β transmitting or polling page(s) failed (connection dropped)
Very detailed debug information is written to the log file. It can be found in "/var/log/mgetty/fax/sendfax.log". If it doesn't contain enough details, enhance the log level with the "-x" option to sendfax, e.g. "-x 5".
Many of the common problems and solutions are discussed in the mgetty manual and the FAQ. Please see the WWW page at http://alpha.greenie.net/mgetty/ for both.
when in doubt: check the log, crank the -x, read the FAQ. that's the whole recovery arc. π
π§ REFERENCES π§
The standard for Group 3 fax is defined in CCITT Recommendation T.4.
shoutout to the actual standard, we stan documentation.
π BUGS π
sendfaxshould be able to put a header on the page.sendfaxshould be able to read TIFF g3 input files.
yeah, it can't do those yet. known and noted, not us pretending otherwise. π
π SEE ALSO π
g3cat(1), pbm2g3(1), mgetty(1), faxspool(1), faxrunq(1), faxrunqd(8)
π¦ AUTHOR π¦
sendfax is Copyright (C) 1993 by Gert Doering, <gert@greenie.muc.de>.
and that's the page!! π
This little legend came from greenie, dated 27 Oct 93 β and yes bestie, sendfax(8) is still the manual name, we just folded it in up top so it didn't have to do all that heavy lifting alone. go forth and fax, you absolute icon. π
β¨π
π¦ where this page comes from
- debian bookworm: mgetty-fax 1.2.1-1.2
- debian trixie: mgetty-fax 1.2.1-2
- ubuntu jammy: mgetty-fax 1.2.1-1.1
- ubuntu noble: mgetty-fax 1.2.1-1.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms