*(Perdonar por el mail tan largo, pero es para proporcionar mas datos y pistas
sobre el progblema)
Hola, tengo configurado un servidor de fax hylafax-4.2.0-5.1 Suse 9.2, y me
funciona todo correcto. Tambien lo tengo habilitado para enviar un fax por
e-mail mediante numero-fax@mi-dominio.com. Incluso en el mail puedo adjuntar
TXT, JPEG y GIF (despues de poner sus respectivos filtros). El problema lo
tengo cuando quiero adjuntar un PDF, he probado de todo y siempre me suelta
el mismo error:
Jan 19 16:55:11 proxy FaxQueuer[28519]: SUBMIT JOB 121
Jan 19 16:55:11 proxy FaxGetty[32677]: LOCKWAIT
Jan 19 16:55:13 proxy FaxQueuer[29003]: JOB 121: CONVERT DOCUMENT: exit status
0x100
Jan 19 16:55:13 proxy FaxQueuer[28519]: NOTIFY: bin/notify "doneq/q121"
"format_failed" ""
Jan 19 16:55:13 proxy FaxQueuer[28519]: NOTIFY exit status: 0 (29007)
Jan 19 16:55:53 proxy FaxGetty[32677]: MODEM USROBOTICS SPORTSTER V.34+ FAX /
* Al final del e-mail pongo unos logs mas depurados a ver si da mas pistas.
Lo raro, es que si uso el filtro para PDF a mano me lo convierte correctamente
a .ps y adjuntando ese ps al mail se ve sin problemas, asi que no entiendo
porque no funciona cuando es automatico.
Debido a que los filtros si me funcionan con otros formatos me ahorraré el
pegar toda la configuración del hylafax y pondre solamente algunas cosillas.
configuración de hyla.conf:
MIMEConverters: /usr/lib/fax/filters
# FontMap/FontPath added by faxsetup (Wed Jan 18 19:37:24 CET 2006)
FontMap: /usr/share/ghostscript/7.07/lib:/usr/share/ghostscript/fonts
dentro del directorio filters tengo el filtro para pdf, exactamente en
application/pdf:
#!/bin/bash
/bin/echo " "
/bin/echo "showpage"
/usr/bin/pdf2ps $1 | /usr/lib/fax/filters/filter.pl
Os pongo tambien el filter.pl:
#!/usr/bin/perl
# Read from the standard input
@text=<STDIN>;
$size=@text;
# Count the number of "showpage"
$count=0;
for($i=0;$i<=$size;$i++){if($text[$i] =~ /showpage/){$count++;}}
# Discard the last line that contain "showpage"
$num=1;
for($i=0;$i<=$size;$i++){
if($text[$i] =~ /showpage/){
if($num!=$count){$num++;}
else{$text[$i]=~s/showpage//g;}
}
print $text[$i];
}
Todos los directorios y scripts tienen los permisos correctos.
Incluso pensando que era problema de fuentes y del ghostscript me he bajado la
ultima versión la he compilado y he añadido las fuentes en el MIMEConverters
del hyla.conf pero sigue fallando.
Uso postfix y quizá la linea mas importante a este problema es la del
master.cf:
fax unix - n n - 1 pipe
flags= user=fax argv=/usr/bin/faxmail -d -n ${user}
He probado a usar sendfax en lugar de faxmail ya que he leido que se pueden
usar directamente documentos pdf sin necesidad de filtros, pero no me ha
funcionado. Si lo uso desde la linea de comandos si que me envia bien el pdf
pero al usarlo en el postfix no. El fax se envia pero en lugar del pdf salen
muchas hojas con letras y simbolos. Si alguien sabe como usarlo desde el
postfix para que vaya tambien me vale como solución
*Mas logs*
En el directorio doneq el log que hace referencia al fax fallido dice algo
asi:
-------------------------------------------------------------------
[...]
groupid:122
signalrate:
dataformat:
jobtype:facsimile
tagline:
subaddr:
passwd:
doneop:default
commid:
status:Error: /undefined in ****\
Operand stack:\
--nostringval--\
Execution stack:\
%interp_exit .runexec2 --nostringval-- --nostringval--
--nostringval-- 2 %stopped_push --nostringval-- -
-nostringval-- --nostringval-- false 1 %stopped_push 1 3
%oparray_pop 1 3 %oparray_pop 1 3 %oparr
ay_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2
%stopped_push --nostringval-- --nostring
val-- --nostringval--\
Dictionary stack:\
--dict:1070/3371(ro)(G)-- --dict:0/20(G)-- --dict:69/200(L)--
--dict:25/50(L)--\
Current allocation mode is local\
ESP Ghostscript 7.07.1: Unrecoverable error, exit code 1\
returned:0
notify:none
pagechop:default
chopthreshold:3
postscript:0::docq/doc127.ps.122
-----------------------------------------------------------------------
En el directorio docq el pdf convertido a .ps tiene este aspecto:
-----------------------------------------------------------------------
%!PS-Adobe-3.0
%%Creator: HylaFAX TextFormat Class
%%Title: HylaFAX-Mail
%%CreationDate: Thu Jan 19 17:12:50 2006
%%For: fax
%%Origin: 0 0
%%BoundingBox: 0 0 612 792
%%Pages: (atend)
%%PageOrder: Ascend
%%Orientation: Portrait
%%DocumentNeededResources: font Helvetica-Oblique Helvetica-Bold Courier
%%EndComments
%%BeginProlog
/$printdict 50 dict def $printdict begin
/Cols 1 def
/PageWidth 8.00 def
/PageHeight 10.40 def
/LH 240 def
/B{gsave}def
/LN{show}def
/EL{grestore 0 -240 rmoveto}def
/M{0 rmoveto}def
/O{gsave show grestore}def
/LandScape{90 rotate 0 -15840 translate}def
/U{1440 mul}def
/UP{U 72 div}def
/S{show grestore 0 -240 rmoveto}def
/InitGaudyHeaders{
/HeaderY exch def /BarLength exch def
/ftD /Times-Bold findfont 12 UP scalefont def
/ftF /Times-Roman findfont 14 UP scalefont def
/ftP /Helvetica-Bold findfont 30 UP scalefont def
/fillbox{ % w h x y => -
moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto
closepath fill
}def
/LB{ % x y w h (label) font labelColor boxColor labelPtSize => -
gsave
/pts exch UP def /charcolor exch def /boxcolor exch def
/font exch def /label exch def
/h exch def /w exch def
/y exch def /x exch def
boxcolor setgray w h x y fillbox
/lines label length def
/ly y h add h lines pts mul sub 2 div sub pts .85 mul sub def
font setfont charcolor setgray
label {
dup stringwidth pop
2 div x w 2 div add exch sub ly moveto
show
/ly ly pts sub def
} forall
grestore
}def
/Header{ % (file) [(date)] (page) => -
/Page exch def /Date exch def /File exch def
.25 U HeaderY U BarLength .1 sub U .25 U [File] ftF .97 0 14 LB
.25 U HeaderY .25 add U BarLength .1 sub U .25 U [()] ftF 1 0 14 LB
.25 U HeaderY U 1 U .5 U Date ftD .7 0 12 LB
BarLength .75 sub U HeaderY U 1 U .5 U [Page] ftP .7 1 30 LB
1 1 Cols 1 sub{
BarLength Cols div mul .19 add U HeaderY U moveto 0 -10 U rlineto stroke
}for
}def
}def
/InitNormalHeaders{
/HeaderY exch def /BarLength exch def
/ftF /Times-Roman findfont 14 UP scalefont def
/ftP /Helvetica-Bold findfont 14 UP scalefont def
/LB{ % x y w h (label) font labelColor labelPtSize => -
gsave
/pts exch UP def /charcolor exch def
/font exch def /label exch def
/h exch def /w exch def
/y exch def /x exch def
/ly y h add h pts sub 2 div sub pts .85 mul sub def
font setfont charcolor setgray
label stringwidth pop 2 div x w 2 div add exch sub ly moveto
label show
grestore
}def
/Header{ % (file) [(date)] (page) => -
/Page exch def pop /File exch def
.25 U HeaderY U BarLength 2 div U .5 U File ftF 0 14 LB
BarLength .75 sub U HeaderY U 1 U .5 U Page ftP 0 14 LB
1 1 Cols 1 sub{
BarLength Cols div mul .19 add U HeaderY U moveto 0 -10 U rlineto stroke
}for
}def
}def
/InitNullHeaders{/Header{3{pop}repeat}def pop pop}def
8.00 10.65 InitNullHeaders
/sf2{/Helvetica-Oblique findfont 10 UP scalefont setfont}def
/s2{sf2 show}def
/sf1{/Helvetica-Bold findfont 10 UP scalefont setfont}def
/s1{sf1 show}def
/sf0{/Courier findfont 10 UP scalefont setfont}def
/s0{sf0 show}def
% $Id: faxmail.c++,v 1.56 1996/07/02 19:49:58 sam Exp sam
%
% faxmail prologue.
%
/EPSbegin{save gsave 20 20 scale 200 dict begin}def
/EPSend{end grestore restore}def
end
%%EndProlog
%%Page: "1" 1
save $printdict begin
.05 dup scale
sf0 ()[()()](1)Header
360 15097 moveto
B(To:)s1 570 M (932530621@fax.dominio.com)s2 EL
B(From:)s1 316 M (jose