Archiv verlassen und diese Seite im Standarddesign anzeigen : Hylafax soll empfangene Faxe automatisch ausdrucken
Kurt Sommer
28.03.02, 11:23
Hallo,
Habe jetzt nach längerer Zeit und nach Anschaffung eines Modems,
(Ebay sei Dank...) unseren Faxserver zum Laufen gebracht.
Über WHFC können alle angeschlossenen Win-Clienten Faxe versenden,
empfangen und betrachten.
Es ist aber recht umständlich, ein empfangenes das Fax in einen
Viewer zu laden, nur um es dann ausdrucken zu lassen.
Da der hfaxd als Daemon läuft, dachte ich mir, daß man dort einen
Befehl einbringen könnte, der automatisch bei einem neuen Fax den
lokalen Drucker anwirft.
Wie kann ich das machen?
Danke im Voraus
Kurt
Hi,
ich habe meine Datei ... faxrcvd ... wie folgt geändert:
Hier mein komplettes Skript, welches das Fax im Tiff-Format an den Empfänger versendet (nicht als PS-Datei) und auch gleich ausdruckt. Anschauen kann man die TIFFs mit "Wang Imaging", das bei neueren Windows dabei ist. Notfalls muß Wang Imaging noch als Standardprogramm für die TIFFs eingerichtet werden.
Viel Spaß!
code:
__________________________________________________ _______
#! /bin/sh
# $Id: faxrcvd.sh,v 1.33 1998/02/12 10:04:57 guru Rel $
#
# HylaFAX Facsimile Software
#
# Copyright (c) 1990-1996 Sam Leffler
# Copyright (c) 1991-1996 Silicon Graphics, Inc.
# HylaFAX is a trademark of Silicon Graphics
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Sam Leffler and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
#
# faxrcvd file devID commID error-msg
#
if [ $# != 4 ]; then
echo "Usage: $0 file devID commID error-msg"
exit 1
fi
test -f etc/setup.cache | | {
SPOOL=`pwd`
cat<<EOF
FATAL ERROR: $SPOOL/etc/setup.cache is missing!
The file $SPOOL/etc/setup.cache is not present. This
probably means the machine has not been setup using the faxsetup(1M)
command. Read the documentation on setting up HylaFAX before you
startup a server system.
EOF
exit 1
}
. etc/setup.cache
INFO=$SBIN/faxinfo
#FAX2PS=$TIFFBIN/fax2ps
FAX2PS=$TIFFBIN/fax2tiff
TOADDR=FaxMaster
#
# There is no good portable way to find out the fully qualified
# domain name (FQDN) of the host or the TCP port for the hylafax
# service so we fudge here. Folks may want to tailor this to
# their needs; e.g. add a domain or use localhost so the loopback
# interface is used.
#
HOSTNAME=`hostname` # XXX no good way to find FQDN
PORT=4559 # XXX no good way to lookup service
FAXPRINTER="laserjet"
FILE="$1"
DEVICE="$2"
COMMID="$3"
MSG="$4"
if [ -f $FILE ]; then
# print the fax
$TIFFBIN/fax2ps $FILE | lpr -P$FAXPRINTER
# lpr -P$FAXPRINTER $FILE
#
# Check the sender's TSI and setup to dispatch
# facsimile received from well-known senders.
#
SENDER="`$INFO $FILE | $AWK -F: '/Sender/ { print $2 }' 2>/dev/null`"
SENDTO=
if [ -f etc/FaxDispatch ]; then
. etc/FaxDispatch # NB: FaxDispatch sets SENDTO based on $SENDER
fi
(echo "To: $TOADDR"
echo "From: The HylaFAX Receive Agent "
echo "Subject: facsimile received from $SENDER";
echo ""
echo "$FILE (ftp://$HOSTNAME:$PORT/$FILE):"; $INFO -n $FILE
echo "ReceivedOn: $DEVICE"
if [ "$MSG" ]; then
echo ""
echo "The full document was not received because:"
echo ""
echo " $MSG"
echo ""
echo " ---- Transcript of session follows ----"
echo ""
if [ -f log/c$COMMID ]; then
$SED -e '/-- data/d' \
-e '/start.*timer/d' -e '/stop.*timer/d' \
log/c$COMMID
elif [ -n "$COMMID" ]; then
echo " No transcript available (CommID c$COMMID)."
else
echo " No transcript available."
fi
else
echo "CommID: c$COMMID (ftp://$HOSTNAME:$PORT/log/c$COMMID)"
fi
if [ -n "$SENDTO" ]; then
echo ""
echo "The facsimile was automatically dispatched to: $SENDTO."
fi
) | 2>&1 $SENDMAIL -ffax -oi $TOADDR
if [ -n "$SENDTO" ]; then
(MIMEBOUNDARY="NextPart$$"
echo "Mime-Version: 1.0"
echo -e "Content-Type: Multipart/Mixed; Boundary=\"$MIMEBOUNDARY\""
echo "Content-Transfer-Encoding: 7bit"
echo "To: $SENDTO"
echo "From: The HylaFAX Receive Agent "
echo "Subject: Fax von $SENDER";
echo ""
echo "--$MIMEBOUNDARY"
echo "Content-Type: text/plain; charset=us-ascii"
echo "Content-Transfer-Encoding: 7bit"
echo ""
echo "$FILE (ftp://$HOSTNAME:$PORT/$FILE):"; $INFO -n $FILE
echo "ReceivedOn: $DEVICE"
if [ "$MSG" ]; then
echo ""
echo "The full document was not received because:"
echo ""
echo " $MSG"
echo ""
echo " ---- Transcript of session follows ----"
echo ""
if [ -f log/c$COMMID ]; then
$SED -e '/-- data/d' \
-e '/start.*timer/d' -e '/stop.*timer/d' \
log/c$COMMID
elif [ -n "$COMMID" ]; then
echo " No transcript available (CommID c$COMMID)."
else
echo " No transcript available."
fi
else
echo "CommID: c$COMMID (ftp://$HOSTNAME:$PORT/log/c$COMMID)"
fi
echo ""
echo "--$MIMEBOUNDARY"
echo "Content-Type: image/tiff"
# echo "Content-Type: application/postscript"
echo "Content-Description: FAX document"
echo "Content-Transfer-Encoding: base64"
echo ""
#$FAX2PS $FILE 2>/dev/null
cat $FILE | mimencode
echo ""
echo "--$MIMEBOUNDARY--"
) | 2>&1 $SENDMAIL -ffax -oi $SENDTO
fi
else
#
# Generate notification mail for a failed attempt.
#
(echo "To: $TOADDR"
echo "From: The HylaFAX Receive Agent "
echo "Subject: facsimile not received"
echo ""
echo "An attempt to receive facsimile on $DEVICE failed because:"
echo ""
echo " $MSG"
echo ""
echo " ---- Transcript of session follows ----"
echo ""
if [ -f log/c$COMMID ]; then
$SED -e '/-- data/d' \
-e '/start.*timer/d' -e '/stop.*timer/d' \
log/c$COMMID
elif [ -n "$COMMID" ]; then
echo " No transcript available (CommID c$COMMID)."
else
echo " No transcript available."
fi
) | 2>&1 $SENDMAIL -ffax -oi $TOADDR
fi
__________________________________________________ ____
Hoffe es hilft ...
Grüße Blade
;)
Hallo,
was genau hat sich denn da bei dir verändert? Ich hab' ein faxrcvd, das sich sehr von deinem unterscheidet... Hab' ne SuSe 8.1 Pro und mit diff bin ich auch nicht wirklich weit gekommen...
Viele Grüße Mathias
sunshineman2002
01.06.03, 10:41
also bei mir hat es nach langem Probieren einfach diese Zeile am SChluss des faxrcvd-Scripts gebracht:
$TIFFBIN/fax2ps $1 | lpr -P lp
das wars eigentlich!!!
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.