Faxverteiler (Serienfax) unter FreeBSD

Ok meine Frist ist abgelaufen. Mein Chef möchte ab morgen dass es mit Synmatec Fax gesendet wird.

Ich werde aber daheim ein wenig damit rumexperimentieren.

Danke nochmal für eure Hilfe!
 
Da es mit Windows und freien Lösunge nicht machbar ist, hat mir mein Chef gesagt ich soll nochmal versuchen. Er holt sonst irgendeine Lösung von Tobit ins haus. Um das zu verhindern bin ich jetzt natürlich dran das doch irgendwie hinzubekommen. Ich habe jetzt mal das Sambafax script soweit geändert dass statt der temp datei die Datei direkt angegeben wird. Das sieht dann so aus:

#!/bin/sh
# constants
SENDMAIL="/usr/sbin/sendmail"
PS2ASCII="/usr/local/bin/ps2ascii"
AWK="/usr/bin/awk"
SENDFAX="/usr/local/bin/sendfax"

# make up a temporary file
FAXFILE=/usr/home/dfarkas/word2.ps # hier ist meine ps datei direkt angegeben
#FAXFILE=/tmp/sambafax.$$

# now dump the to-be faxewd data (PS fdormat) to the temp file
#cat >${FAXFILE} # this comes from the pipe (local mission)
#cat $6 >>${FAXFILE} # or this comes from samba as a file


# retrieve the faxnumber from the printfile
# the silly three x's are added because some awk strugle with an immediate CR
# we use a PS to ascii pipe to strip (most of) the Postscript controls

FAX2NUM=`${PS2ASCII} ${FAXFILE} | ${AWK} '{ IGNORECASE=1 } /Fax-Nr ?: ?[0-9-]*/ \
{ $0=$0 "xxx"; \
gsub(/-/,""); \
anfang=match($0,/ ?: ?/); \
anfang=anfang+match(substr($0,anfang),/[0-9]/)-1; \
ende=match(substr($0,anfang),/[^0-9]/)-1; \
printf ("%s",substr($0,anfang,ende)) \
}'`

# if faxnumber is found fax the tempfile
# we donot check the validity of the faxnumber, let sendfax do this...
#if [ "${FAXNUM}" = "" ] ; then
# (echo "To: ${MailTo}"
# echo "From: The HylaFAX Samba dancer "
# echo "Subject: your facsimile request failed"
# echo ""
# echo "The faxnumber is not recognized in your fax of"
# echo `date`
# echo ""
# echo "The faxnumber is recognised via this text:"
# echo " Fax-Nr : ddd-ddddddd"
# echo "No spaces or characters are allowed between the digits, just a -"
# echo "" ${FAXNUM} ""
# echo "Please correct and retry"
# ) | 2>&1 ${SENDMAIL} -ffax -oi ${MailTo}
#else
#$SENDFAX -n -d 8869716 $FAXFILE
#echo ${FAXNUM}
#fi


${SENDFAX} -n -d ${FAX2NUM} ${FAXFILE}

# remove the temp file
#rm -f ${FAXFILE}

# end of show

Er liest also die Nummer aus der PS Datei und verschickt sie. Das Problem liegt also irgendwo in der Grün markierten stelle.

Habe auch schon den Programmierer des Scripts kontaktiert. Der hat mir noch nicht zurück geschrieben.

Hat noch einer ne Idee?

(die # sind etwas verrutscht. aber das ist nicht das Problem ;) )
 
Ich habe das original Script (mit meinen geposteten Änderungen) mit lpd getestet. Funktioniert.

lpr -P faxlp test.ps

Mit /tmp/sambafax.$$$ wird eine temporäre Datei angelegt, welche danach mit cat gefüllt wird. Überprüfe doch
/var/log/lpd-errs. Und nicht vergessen lpd nach Einrichtung der printcap neu zu starten. Evtl. lpc restart all


Gruss
Dom
 
Zuletzt bearbeitet:
dfa schrieb:
Ich habe das original Script (mit meinen geposteten Änderungen) mit lpd getestet. Funktioniert.

lpr -P faxlp test.ps

Mit /tmp/sambafax.$$$ wird eine temporäre Datei angelegt, welche danach mit cat gefüllt wird. Überprüfe doch
/var/log/lpd-errs. Und nicht vergessen lpd nach Einrichtung der printcap neu zu starten. Evtl. lpc restart all


Gruss
Dom
Bin grad in der Arbeit angekommen. Werde es sofort versuchen!

sind 3 $ hinter sambafax richtig?
 
Genau wie du es beschrieben hast:

Code:
faxlp:\
:lp=/dev/null:\
:sd=/var/spool/lpd/faxlp:\
:if=/var/spool/hylafax/bin/sambafax:\
:sh:sf:mx#0:

:if ist dein Script. Achtung: Ausführungsberechtigungen beachten!

Gruss
Dom
 
Laserdrucker am Remoterechner:
Code:
fs820|queue1|lp|laserdrucker:\
    :lp=:\
    :rm=beast.horst.lan:\
    :rp=fs820:\
    :sd=/var/spool/lpd/fs820/spool:\
    :mx#0:sh:
 
Danke an euch für eure Bemühungen.

Ich kriege es irgendwie nicht gebacken. Glaube ich bin einfach zu dumm dafür. Habe auf ner zweiten Festplatte noch ein FreeBSD aufgesetzt um es dort mal zu testen. Da bin ich wenigstens schon so weit dass es von lpd aus geht (danke an dfa) aber lpd Samba haut nicht hin. Da kommt immer mein geliebtes "Zugriff verweigert" im Windows.
Habe dann versucht das modifizierte Script auf der anderen FreeBSD Installation zu testen (dort mit CUPS). Haut natürlich nicht hin. Außer ich mache ./sambafax < /home/admin/psdatei.ps

Ich glaube wirklich nicht mehr dass ihr mir mehr Infos geben könnt und danke nochmal für eure Hilfe. Ich spiele mich jetzt einfach noch damit und wenn ich garnicht mehr kann rate ich meinem Chef zu Tobit.

Vielleicht noch eine Frage: Glaubt ihr ich habe mit einem Linux mehr Erfolg? Ich habe eigentlich noch so gut wie nix mit Linux gemacht.
 
Zurück
Oben