Utilisation de Efax

Efax est un programme de fax plus léger et plus facile à installer que Hylafax, mais il est largement suffisant pour une utilisation sur une seule machine. Vous pouvez le trouver ici.


Installer Efax

Il suffit de le détarrer et de le compiler:
cd /tmp # ou un répertoire ou vous avez des droits d'écriture
tar -xzvf /dossier/efax.tar.gz
./configure
make
su
make install


Vous pouvez le lancer avec init, et l'utilisation de votre modem par d'autre programme sera protégée par un fichier de verrouillage (vous devez pour cela toujours utiliser le même nom de periphérique, soit modem, soit ttyS1, soit cua1 . Pour le lancer avec init ajoutez cette ligne a votre /etc/inittab.
#Fax - Efax
s1:2345:respawn:/bin/sh /usr/bin/fax answer


Configurer Efax

Pour cela, il faut éditer /usr/bin/fax et modifier certaines variables

DEV=Mettez ici le nom de votre périphérique: modem, cua1, ttyS1 tel que vous l'avez indiqué dans vos autres logiciels qui utilise ce modem (connexion internet, ...) afin d'avoir le bon fichier de verrouillage. (/var/lock/LCK..modem si vous utilisez modem)
FROM= et NAME= Mettez ici votre numéro de téléphone et votre nom
PAGE= Commentez et decommentez les lignes pour avoir PAGE=A4 VIEWCMD= Adaptez la en fonction des logiciels que vous avez installé
TELECVT= Choisissez la France (ou votre pays)
INIT=, RESET=, SPK=, CLASSINIT=, TXCAP=, RXCAP=, TXINIT=,... Laissez les telles quelles ou modifiez-les suivant votre modem (voir man efax)
DATECMD= Choisissez celle qui vous plait le plus
CONSOLE= Mettez /dev/tty11 ou 12 si elles sont libre.
FAXDIR= Mettez FAXDIR=/var/spool/fax/Fax et créez ce dossier
FAXMGR= Mettez fax et créez ce compte tel que son repertoire HOME soit: /var/spool/fax et donnez lui les droits d'écriture dans celui-ci.

Vous pouvez aussi modifier d'autres options si elles vous interessent comme la réponse adaptive fax/PPP

Modifier ensuite la fonction faxmail qui chez moi donnne ca:


faxmail () {
echo "Subject: Fax de $REMID "
echo "Content-Type: multipart/mixed; boundary=EFAX_MAIL"
echo ""
echo "--EFAX_MAIL"
echo "Content-Type: text/plain; charset=\"us-ascii\""
echo "Content-Transfer-Encoding: 7bit"
echo ""
echo "Vous avez recu un fax de $REMID, taper \"v\" pour voir les pages"
echo "Placez-vous sur une page et appuyez sur \"entrer\""
echo "Vous pouvez alors, a partir de ghostscript visualiser les"
echo "pages , les imprimer ou zoomer, quittez puis passez a la suivante."
echo ""
echo "Apres avoir visualisé les Fax, vous pouvez quitter en tapant \"q\""
echo "Le logiciel vous demande alors si vous voulez archivé les fax,"
echo "Vous pouvez alors répondre par \"o\" ou \"n\""
echo ""
echo ""
echo ""
echo "Ce qui suit est sans importance"
echo " Les fichiers sont: $FILES"
echo "**********************************************************"
echo "Log de la récéption: "
echo "**********************************************************"

cat $f
for f in $FILES
do
echo "--EFAX_MAIL"
echo "Content-Type: image/fax"
echo "Content-Transfer-Encoding: base64"
#*** !!! Ici Content-Type: image/fax !!! ****
echo ""
$EFIX -M <$f
done
}

Réception des fax

Sendmail doit fonctionner pour des mails en local et procmail doit etre installé. Si ce n'est pas le cas, allez ici

Avec la configuration effectuée précedement, les fax sont envoyés sous forme d'image tiff a l'utilisateur fax.
J'utilise mutt pour lire les mail ainsi recu, les premières ligne de la fonction faxmail() indiquent les commandes de base. Si vous voulez utilisez un autre soft, vous devez faire quelques adaptations.
Dans le répertoire Home de cet utilisateur, j'ai créé les fichier:
.muttrc

.mailcap contenant:
image/fax; tiff2ps -h11 -w8 '%s'> /tmp/fax.ps && gv /tmp/fax.ps && rm /tmp/fax.ps

.bash_profile contenant:
export DISPLAY=:0.0
# Ici, il faut que l'utilisateur fax soit autorisé, donc xhost +127.0.0.1 ou man xauth
mutt && exit

Comme cela, il suffit de faire su - fax ou de se logger en fax pour voir les fax. et su fax permet de se logger en utilisateur fax pour y faire des modifications.

Vous devez créer un repertoire ~fax/Mail qui contiendra:
Error-Messages
Fax-Archive
Incoming -> /var/spool/mail/fax

Et un .procmailrc contenant


PATH=$HOME/bin:/usr/local/bin:/usr/bin
MAILDIR=$HOME/Mail
ORGMAIL=$MAILDIR/Error-Messages
DEFAULT=$MAILDIR/Error-Messages
LOGFILE=$MAILDIR/.log


:0 B
* fax\ call\ answered
* Content\-Type\:\ image\/fax
{
:0 c
! nlsn
#Ici, ca doit etre le nom de votre utilisateur.
# Vous recevrez donc une copie du fax dans votre boite.

:0
/var/spool/mail/fax
}

Voila, c'est bon, maintenant, vous pouvez tester en allant sur www.ifrance.com qui propose des fax gratuits.


Envoi de fax

Pour envoyer des fax, j'imprime un document en postscript et j'utilise le script suivant (recupéré sur fr.comp.os.linux.configuration). Copiez-le et rendez-le executable.


#!/bin/sh
# Role: Moniteur pour envoi d'un fax, le fichier à envoyer est
# généré en Postscript et visualisé avec ghostscript avant
# envoi.
# Modifs: 30/07/98 Thierry Houx, création

# # Initialisation des variables
NUMERO="?"
FICHIER="?"
OK="N"
clear
echo "Envoi d'un FAX"
echo " "
echo "Donnez le fichier à envoyer:"
read FICHIER
if [ -e $FICHIER ] #Le fichier existe-t'il?
then
gv $FICHIER & #Oui, alors visu
else
if [ -e $HOME/axhome/$FICHIER ] #Non, alors recherche dans
répertoire
then #axhome de l'utilisateur
FICHIER=$HOME/axhome/$FICHIER #Il y est, alors visu
gv $FICHIER &
else #Il n'y est pas, message et arrêt
echo "Le fichier à expédier n'existe pas!"
exit
fi
fi
echo "Est-ce ce fichier que vous voulez envoyer? (Ctrl-C si non)"
read OK
echo "Donnez le N° du correspondant (SANS séparateur entre les chiffres):"
read NUMERO
echo "Envoi du fichier: " $FICHIER "au numéro: " $NUMERO
echo "Tapez Ctrl-C pour abandonner en cas de problème!"
fax send $NUMERO $FICHIER
rm -f $FICHIER.0*
echo envoi terminé!