• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Hylafax an Postfix-Mailserver anbinden

So, ich habe die FaxDispatch nicht selbst geschrieben - die war bereits in /var/spool/fax/bin vorhanden!
Ich habe dort legiglich, wie in zig HowTo´s beschrieben, die Zeile 'FILETYPE=pdf' eingefügt!

In der faxrcvd habe ich auch erstmal nix geändert, dort auch nur, wie in zig HowTo´s beschrieben, ebenfalls die Zeile 'FILETYPE=pdf' eingefügt!

Wie sieht denn bei euch die FaxDispatch und die faxrcvd aus (wo SENDTO belegt bzw. aufgerufen wird), damit an 'SENDTO' eine Mail geschickt wird?

Gruß


PS: Ich denke schon erstmal, den Ablauf dieser 3 Files verstanden zu haben:.
1. faxrcvd ruft irgendwann mal FaxDispatch auf
1.1. FaxDispatch liest users aus und splittet aus der Zeile (bspw. ich@firma.de 15) die Mailadresse und legt diese auf SENDTO
2. faxrcvd holt sich an geeigneter Stelle die nun bereits belegte Variable SENDTO; dahinter steht nun die Mailadresse aus users --> also sollte nun auch 'SENTDO' eine Mail vom Fax bekommen!
So müsste das doch ablaufen, oder? ...von daher ist´s mir nicht verständlich, wieso ich keine Mail bekomme, sondern nur, wenn ich in ../faxrcvd SENDTO=ich@firma.de setze. :?:
 
Ich komme im Moment nicht an den Server, aber ich habe die nach diesem Beispiel eingerichtet.

http://www.debianhowto.de/doku.php/de:howtos:sarge:hylafax_avm_isdn
 
sag mal liest Du eigentlich was wir hier so schreiben?
Wo deine herkommt weiß ich nicht, aber ich bin sicher, dass sie so nicht funktionieren kann.

Also im hylafax Source-Paket habe ich keine FasDispatch gefunden und was in der manpage steht sieht etwas anders aus.

Die mehrfachen SHIFTs inf faxrcvd führen dazu dass $2 nicht mehr brauchbar ist, folglich wid Deine FaxDispatch (ausser Zeile 1) nicht durchlaufen. Das solltest Du aber auch nachprüfen können.
Nimm statt $2 eben $COMMID (hast Du Dich evtl. auch noch verzählt, weil $1=file, $2=device, $3=commid?) und es sollte gehen, wenn nicht noch andere Fehler vorliegen.

Dein Verständnis vom Ablauf ist ja ok so, es hapert nur noch ein wenig an den Programmierkünsten :)

Ich selbst bin vor einiger Zeit auf capisuite umgestiegen. Insofern kein FaxDispatch im Einsatz.
 
Klar lese ich, was ihr postet - sogar mehrfach - und versuche auch alles zu verstehen/nachzuvollziehen/umzusetzen! :wink:
Dein Verständnis vom Ablauf ist ja ok so, es hapert nur noch ein wenig an den Programmierkünsten
Im scripten bin ich leider nicht bewandert - das ist mein Problem! (Wenn das Java wäre, dann... :) ) Deshalb weiß ich auch nicht, was shift in diesem Falle macht... habe mittlerweile versucht, Codeerklärungen zum scripten durchzusuchen, um solche Befehle zu verstehen!

Ich kann halt einfach nicht nachvollziehen, warum SENDTO nicht belegt wird - ich arbeite aber dran. echo-Ausgaben in eine Textfile aus der faxrcvd (bspw.: echo "aus faxrcvd: $SENDTO" >> /var/log/FaxDispatch.txt) bestätigen mir, dass die Variable leer ist. :(

Nun gut... ich will auch nicht nerven. Ich versuchs weiter.

Danke und Gruß
 
Auch wenn es nervt (DIch und mich) wiederhole ich es nochmal:
Ersetzte "$2" durch "$COMMID" oder "$DEVICE", je nachdem was Du meinst, und zwar im ganzen FaxDispatch.
Vestehen musst dazu erst mal nichts, Du kannst es mir ruhig glauben :)
 
So, ich habs endlich hinbekommen... der "Fehler" lag doch tatsächlich in der faxrcvd!!!
Dort wurde bisher die FaxDispatch unter den ganzen shift-Anweisungen initialisiert - somit hat´s mit immer mein SENDTO aus FaxDispatch überschrieben mit nem leeren String.
Jetzt habe ich einfach den FaxDispatch-Aufruf vor die ganzen shift-Anweisungen gesetzt und SENDTO nochmal zugewiesen und siehe da, es klappt wie gewünscht... eingehende Faxe werden in Abhängigkeit zur MSN an die entsprechende eMail-Adresse weitergeleitet (in der .../users festgelegt):
Auszug aus faxrcvd:
Code:
# Initialisierung der FaxDispatch hierher hochgezogen, da sonst das SENDTO nie belegt werden würde,
# da es duch shift-Anweisungen (weiter unten) immer überschrieben werden würde
if [ -f bin/FaxDispatch ]; then
    . bin/FaxDispatch		# NB: FaxDispatch sets SENDTO
fi
#
# Permit various types of attachment types: ps, tif, pdf
# Note that non-ASCII filetypes require an encoder.
# pdf requires tiff2ps and tiff2pdf
#
FILETYPE=pdf
SENDTO=$SENDTO
...
FILE="$1"; shift;
DEVICE="$1"; shift;
COMMID="$1"; shift;
MSG="$1"; shift;
Die FaxDispatch sieht nun endgültig so aus:
Code:
if [ "$7" != "" ]; then
    PHONEMATCH=$7	#\$
    USERENTRY=`grep -v "^#" etc/users | grep "$PHONEMATCH"`
    if [ "$USERENTRY" != "" ]; then
	USERNAME=`echo $USERENTRY | awk '{print $1}'`
	SENDTO="$USERNAME"
	FILETYPE=pdf
    fi
fi
Es muss hier übrigens auch '$7' heißen, da das 7.Argument, welches Übergeben wird, die MSN des Empfängers ist (was in .../users definiert wird - hier die Nr. 63!). Siehe hierzu capifax.log-Auszug:
Code:
c2faxrecv - INFO: Fax received and calling '/var/spool/fax/bin/faxrcvd "recvq/fax00085.tif" "faxCAPI" "000000197" "" "+49 xxxxx 46011" "" "63"'

Ich danke euch beiden für die Hilfe, Geduld und Ratschläge... ich weiß, es ist nicht einfach gewesen (mit mir?!) :wink: :D

Danke und Gruß
 
Oben