hi,
After configuring amavisd with my exim and
spamassassin, all the messages are bounced back with
log entry saying "Administrative prohibition".
System spcifications
1. OS -RedHat 8.0
2. MTA - Exim 4.14 (rpm installation)
3. Amavis - amavisd-new-20030314
4. Spamassassin
Relevent parts of configuration files
1. Exim confiuratin file ( /etc/exim/exim4.conf)
domainlist local_domains = cohort.org : galaxy.com : @
domainlist relay_to_domains = *.cohort.org :
pirana.cohort.org
hostlist relay_from_hosts = 127.0.0.1 : 10.0.0.0/8
local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025
qualify_domain = cohort.org
qualify_recipient = cohort.org
trusted_users = exim:ravms:amavis
begin acl
acl_check_rcpt:
accept hosts = :
deny local_parts = ^.*[@%!/|] : ^\\.
accept local_parts = postmaster
domains = +local_domains
require verify = sender
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient
accept hosts = +relay_from_hosts
accept authenticated = *
deny message = relay not permitted
begin routers
##########################################################
amavis:
driver = manualroute
# Do NOT run if received via 10025/tcp or if
already spam-scanned
# or if bounce message ($sender_address="")
domains = +local_domains
condition = "${if or {{eq
{$interface_port}{10025}} \
{eq
{$received_protocol}{spam-scanned}} \
{eq {$sender_address}{}} \
}{0}{1}}"
transport = amavis
route_list = "* localhost bydns"
self = send
# Enable Anti-Spam support with SpamAssassin.
spamcheck_router:
no_verify
check_local_user
condition = "${if and { {!def:h_X-Spam-Flag:} \
{!eq {$received_protocol}{spam-scanned}}} {1}{0}}"
driver = accept
transport = spamcheck
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
# data = ${lookup{$local_part}lsearch{/etc/aliases}}
data = ${lookup ldapm
{ldaps://pirana/ou=Users,dc=cohort,dc=org?uid?sub?
(&(objectClass=mailAlias)
(mailAliasedName=${quote_ldap:$local_part@$domain})) }
{$value} fail }
# user = exim
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
# allow_filter
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
# This router matches local user mailboxes.
localuser:
driver = accept
check_local_user
transport = local_delivery
###################
begin transports
remote_smtp:
driver = smtp
delay_after_cutoff
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
# group = mail
# mode = 0660
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
amavis:
driver = smtp
port = 10024
allow_localhost
######################## spam assassin transport
#########
spamcheck:
driver = pipe
batch_max = 100
command = /usr/sbin/exim -oMr spam-scanned -bS
use_bsmtp = true
transport_filter = /usr/bin/spamc
home_directory = "/tmp"
current_directory = "/tmp"
user = exim
group = exim
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
############################################
2. Amavis configuration file ( /etc/amavisd.conf)
$mydomain = 'cohort.org'; # (no useful default)
$daemon_user = 'amavis'; # (no default;
customary: vscan or amavis)
$daemon_group = 'amavis'; # (no default;
customary: vscan or amavis)
$TEMPBASE = '/var/amavis'; # (must be set
if other config vars use is)
$ENV{TMPDIR} = $TEMPBASE; # wise, but usually
not necessary
$forward_method = 'smtp:127.0.0.1:10025'; # where to
forward checked mail
$notify_method = $forward_method; # where to
submit notifications
@local_domains_acl = ( ".$mydomain" ); # $mydomain
and its subdomains
##################################3
#$relayhost="127.0.0.1";
#$relayhost_port="10025";
###############################3
@inet_acl = qw( 127.0.0.1 ); # allow SMTP access
only from localhost IP
$LOGFILE = "$MYHOME/amavis.log"; # (defaults to
empty, no log)
$log_level = 5; # (defaults to 0)
#############################################
3. Log file ( /var/log/exim/main.log)
an example entry when I tried to send mail from the
"root" user to "test" user.
2003-05-20 13:01:30 3 args: /usr/sbin/exim -Mc
19I3vy-0006fG-6o
2003-05-20 13:01:30 SMTP connection from
[127.0.0.1]:45074 (TCP/IP connection count = 1)
2003-05-20 13:01:30 H=(localhost) [127.0.0.1]:45074
F=<root@???> rejected RCPT <test@???>
2003-05-20 13:01:30 SMTP connection from (localhost)
[127.0.0.1]:45074 closed by QUIT
2003-05-20 13:01:30 19I3vy-0006fG-6o **
test@??? F=<root@???> R=amavis T=amavis:
SMTP
error from remote mailer after end of data: host
localhost [127.0.0.1]: 550 5.1.0 Administrative
prohibition
##################################
Important note:
I followed the exact steps (AFAIK), of the relvant
README.* , but in /etc/amavisd.conf file, I tried to
uncomment the 2 entries
#$relayhost="127.0.0.1";
#$relayhost_port="10025";
But then when I again stop/start amavisd I get the
following error,
"Error in config file /etc/amavisd.conf: Global symbol
"$relayhost" requires explicit package name at
/etc/amavisd.conf line 199.
Global symbol "$relayhost_port" requires explicit
package name at /etc/amavisd.conf line 200."
Also, I have removed the amavisd configurations for
virus scanning , as I dont have a virus scanner.
My exim was working fine beofore installing
amavis(still works when I remove those amavis
portions)
I tried all the options i could including going
through the docs and google search, but failed.
Please somebody give me anything comes to your mind. I
would highly appreciate any help .
Thanx in advance and regards,
Nasirudheen
__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com