Hylafax Mailing List Archives
|
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
Re: Email gateway using Sendmail
> I've got sendmail 8.8.7, hylafax-v4.0pl2, RedHat 5.1, kernel 2.0.34
>
> I've edited sendmail.cf and I can send faxes to predefined users in /etc/aliases.
There are sendmail configuration macros which will do most if not all
the job for you.
>
> How do I get it working so that I can fax via email to user@faxnumber.fax ?
> When I try this, sendmail complains about no domainname "fax".
You inserted the rule into ruleset 0 after it had disposed of all
remote addresses. The most logical place was the pseudo domains section,
although, for a user hack, ruleset 98 would probably have been better.
Next you inserted it into a configuration file created by the macro
configuration process, not into a minimal file. The previous processing
had appended a "." which would only be removed if mailertable processing
were enabled. (The . is actually the result of CPfax, and prevents the
DNS lookup being done; NB CP is not understood by the underlying rule
processing engine, only by the actual rules in the file.)
Finally you had a spurious initial space, and had spaces, instead of tabs,
between the various parts of the rule line.
This a sendmail -bt on your configuration:
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 fred@9999.fax
rewrite: ruleset 3 input: fred @ 9999 . fax
rewrite: ruleset 96 input: fred < @ 9999 . fax >
rewrite: ruleset 96 returns: fred < @ 9999 . fax . >
rewrite: ruleset 3 returns: fred < @ 9999 . fax . >
rewrite: ruleset 0 input: fred < @ 9999 . fax . >
rewrite: ruleset 199 input: fred < @ 9999 . fax . >
rewrite: ruleset 199 returns: fred < @ 9999 . fax . >
rewrite: ruleset 98 input: fred < @ 9999 . fax . >
rewrite: ruleset 98 returns: fred < @ 9999 . fax . >
rewrite: ruleset 198 input: fred < @ 9999 . fax . >
rewrite: ruleset 95 input: < > fred < @ 9999 . fax . >
rewrite: ruleset 95 returns: fred < @ 9999 . fax . >
rewrite: ruleset 198 returns: $# esmtp $@ 9999 . fax . $: fred < @ 9999 . fax .
>
rewrite: ruleset 0 returns: $# esmtp $@ 9999 . fax . $: fred < @ 9999 . fax .
>
> # resolve fake top level domains by forwarding to other hosts
This is where the rule logically belongs
>
>
>
> # pass names that still have a host to a smarthost (if defined)
> R$* < @ $* > $* $: $>95 < $S > $1 < @ $2 > $3 glue on smarthost name
This next rule starts messing things up.
>
> # deal with other remote names
> R$* < @$* > $* $#esmtp $@ $2 $: $1 < @ $2 > $3 user@host.domain
And this one kills it.
4 more rules follow before your:
>
> R$+<@$+.FAX> $#fax $@ $2 $: $1 user@host.FAX
This is what you should have had, in the corrected context:
> R$+<@$+.FAX.> $#fax $@ $2 $: $1 user@host.FAX
in od -c format:
0000000 R $ + < @ $ + . F A X . > \t \t $
0000020 # f a x $ @ $ 2 $ : $ 1
0000040 \t \t u s e r @ h o s t . F A X \n
0000060
and this is what sendmail -bt does when everything is repaired:
Enter <ruleset> <address>
> 3,0 fred@9999.fax
rewrite: ruleset 3 input: fred @ 9999 . fax
rewrite: ruleset 96 input: fred < @ 9999 . fax >
rewrite: ruleset 96 returns: fred < @ 9999 . fax . >
rewrite: ruleset 3 returns: fred < @ 9999 . fax . >
rewrite: ruleset 0 input: fred < @ 9999 . fax . >
rewrite: ruleset 199 input: fred < @ 9999 . fax . >
rewrite: ruleset 199 returns: fred < @ 9999 . fax . >
rewrite: ruleset 98 input: fred < @ 9999 . fax . >
rewrite: ruleset 98 returns: fred < @ 9999 . fax . >
rewrite: ruleset 198 input: fred < @ 9999 . fax . >
rewrite: ruleset 198 returns: $# fax $@ 9999 $: fred
rewrite: ruleset 0 returns: $# fax $@ 9999 $: fred