I have a vds under Free-BSD-8.1-STABLE which I use for maintaining of
public sites and etc.
Under that vds I have a mailing system which consits from an exim-4.76
which receives and sends emails to/from local mail users and
dovecot-1.2.17 which lets get receiving post to email-clients.
I want to set up the Mailman for maintaining post lists.
Firstly, created subdomain 'list.somename.name' in my bind-settings. It
works correctly.
Then, after installing the Mailman from ports, I set up my Apache to
work with it. My Apache wokrs correctly too.
Then I checked and changed my exim configuration file and etc and tested
list verification command with the next result:
> exim -bt [email protected]
> Address rewritten as: [email protected]
> [email protected]
> <-- [email protected]
> <-- [email protected]
> <-- [email protected]
> router = localuser, transport = local_delivery
Further I created a site-wide mailing list and a mailing list as in
described in /usr/local/share/doc/mailman/mailman-install.txt but it is
not works well.
It is possible to subscribe to list throwgh the web-form, it is possible
to receive emails after that for subsribing confirmation to local email
users which I tried to subsribe, is is possible to confirm subscription
through the web but not through email and it is impossible to receive
emails from list and to see the archive sending to list throupgh the web.
With accordance to the above I have some questions:
1) What I do wrong?
2) Where is I need to indicate aliases after creating the new list - in
/etc/aliases (which is a symbolic link to /etc/mail/aliases in FreeBSD)
or in /usr/local/etc/exim/aliases?
3) Does it need to create in the /usr/local/etc/exim/passwd email-users
such as [email protected] or not?
I don't read any about it in
/usr/local/share/doc/mailman/mailman-install.txt and here
http://www.exim.org/howto/mailman21.html and firstly I did not create 'em.
I had the next exim logs that time:
> H=mail.somename.name [xxx.xxx.xxx.xxx] sender verify fail for
> <[email protected]>: all relevant MX records point to
> non-existent hosts
> H=mail.somename.name [xxx.xxx.xxx.xxx] F=<[email protected]>
> rejected RCPT <[email protected]>: Sender verify failed
> H=mail.somename.name [xxx.xxx.xxx.xxx] sender verify fail for
> <[email protected]>: all relevant MX records point to
> non-existent hosts
> H=mail.somename.name [xxx.xxx.xxx.xxx] F=<[email protected]>
> rejected RCPT <[email protected]>: Sender verify failed
> H=router45-readme.domainname1.net ([0.0.0.0]) [xxx.xxx.xxx.xxx]
> F=<[email protected]> rejected RCPT <[email protected]>:
> all relevant MX records point to non-existent hosts
4) If I need to create an email user for lists in
/usr/local/etc/exim/passwd, how I can indicate to the Mailman its
password for authentificaton? Or what I need to do instead?
5) If I need to create an email user for lists in
/usr/local/etc/exim/passwd, what is home directory of it I need to indicate?
As I think, I need to indicate one of the directories existing in
/usr/local/mailman/archives, probably
/usr/local/mailman/archives/public/nameoflist?
I created public list named "news" through the web-form, but it was
created the next symbolic link:
> ls -l /usr/local/mailman/archives/public
>> lrwxr-xr-x 1 mailman mailman news ->
>> /usr/local/mailman/archives/private/news
not a directory.
So I have the next too:
> ls -l /usr/local/mailman/archives/private
> total 8
> drwxrwsr-x 2 root mailman 512 mailman
> drwxrwsr-x 2 root mailman 512 mailman.mbox
> drwxrwsr-x 2 mailman mailman 512 news
> drwxrwsr-x 2 mailman mailman 512 news.mbox
When I tried to indicate it as the email user "news" home directory in
/usr/local/etc/exim/passwd and when I tried to indicate
/usr/local/mailman/archives/private/news or
/usr/local/mailman/archives/private/news.mbox as it, after sending an
email to the list I had the next exim logs:
> 1Qqh5b-0001Qz-Kx == [email protected] ([email protected],
> [email protected]) <[email protected]> R=localuser
> T=local_delivery defer (13): Permission denied: while creating mailbox
> /usr/local/mailman/archives/private/news.mbox/mbox
> 1Qqh5b-0001Qz-Kx == [email protected] ([email protected],
> [email protected]) <[email protected]> R=localuser
> T=local_delivery defer (-52): Retry time not yet reached
6) As I use an email system for my usual needs consists from exim +
dovecot, do I need to include the dovecot in working with my Mailman
email list by any method?
The current configuration file of my exim attached.
Yours,
James
VIRUS_SCAN = yes
POSTGREY_SOCKET = inet:127.0.0.1:10023
FREEBSD = yes
MAILMAN_ENABLE = yes
SPAMCBIN=__ISP_SPAMCBIN__
EXIMBIN=/usr/local/sbin/exim
log_selector = \
+all_parents \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+tls_cipher +tls_peerdn \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error
#CONFDIR=__ISP_CONFDIR__
daemon_smtp_port = 25:465
tls_certificate = /usr/local/etc/exim/server.crt
tls_privatekey = /usr/local/etc/exim/server.key
tls_on_connect_ports = 465
tls_advertise_hosts = *
.ifdef MAILMAN_ENABLE
#MAILMAN_HOME=__MAILMAN_HOME__
#MAILMAN_WRAP=__MAILMAN_WRAP__
#MAILMAN_USER=__MAILMAN_USER__
#MAILMAN_GROUP=__MAILMAN_GROUP__
MAILMAN_HOME=/usr/local/mailman
MAILMAN_WRAP=/usr/local/mailman/mail/mailman
MAILMAN_USER=mailman
MAILMAN_GROUP=mailman
.endif
trusted_groups = mgrsecure
trusted_users = www
domainlist local_domains = lsearch;/usr/local/etc/exim/domains
domainlist dummy_domains =
hostlist relay_from_hosts = 127.0.0.1
domainlist relay_to_domains = lsearch;/usr/local/etc/exim/domains
exim_user = mailnull
exim_group = mail
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
begin acl
acl_check_rcpt:
accept hosts = net-lsearch;/usr/local/etc/exim/whitelist
accept hosts = 127.0.0.1
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
deny hosts = net-lsearch;/usr/local/etc/exim/blacklist
message = $host_data
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = postmaster
verify = recipient
domains = +local_domains
require verify = sender
accept hosts = +relay_from_hosts
control = submission
accept authenticated = *
condition = ${if
eq{${extract{5}{:}{${lookup{$authenticated_id}lsearch{/usr/local/etc/exim/passwd}}}}}{no}
{yes}{no}}
condition = ${if
eq{${extract{3}{:}{${lookup{${domain:$authenticated_id}}lsearch{/usr/local/etc/exim/domains}}}}}{no}
{yes}{no}}
control = submission/domain=
deny message = rejected because $sender_host_address
is in a black list at $dnslist_domain\\n$dnslist_text
dnslists = ${readfile
{/usr/local/etc/exim/dnsblists}{:}}
require message = relay not permitted
domains = +local_domains :
+relay_to_domains
require verify = recipient
.ifdef POSTGREY_SOCKET
defer log_message = greylisted host $sender_host_address
set acl_m0 =
request=smtpd_access_policy\nprotocol_state=RCPT\nprotocol_name=${uc:$received_protocol}\nhelo_name=$sender_helo_name\nclient_address=$sender_host_address\nclient_name=$sender_host_name\nsender=$sender_address\nrecipient=$local_part@$domain\ninstance=$sender_host_address/$sender_address/$local_part@$domain\n\n
set acl_m0 =
${sg{${readsocket{POSTGREY_SOCKET}{$acl_m0}{5s}{}{action=DUNNO}}}{action=}{}}
message = ${sg{$acl_m0}{^\\w+\\s*}{}}
condition = ${if
eq{${uc:${substr{0}{5}{$acl_m0}}}}{DEFER}{true}{false}}
.endif
accept
acl_check_data:
accept
begin routers
dnslookup:
driver = dnslookup
# domains = !+dummy_domains
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
self = pass
no_more
disabled_domains:
driver = redirect
condition =
${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
allow_fail = yes
data = :fail: Domain disabled
no_more
disabled_users:
driver = redirect
condition =
${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
allow_fail = yes
data = :fail: User disabled
no_more
local_domains:
driver = redirect
data =
${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
cannot_route_message = Unknown user
no_more
.ifdef SA_ENABLE
spamcheck_router:
no_verify
condition = "${if and { {!def:h_X-Spam-Flag:} {!eq
{$received_protocol}{spam-scanned}}} {1}{0}}"
driver = accept
transport = spamcheck
.endif
group_aliases:
driver = redirect
data =
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
condition = ${if and{\
{exists{/usr/local/etc/exim/aliases}}\
{eq
{${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}}
{group} }\
} {yes} {no} }
redirect_router = a_dnslookup
aliases:
driver = redirect
data =
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no}
}
aliases_pipe:
driver = redirect
pipe_transport = address_pipe
data = ${lookup {$local_part@$domain}
lsearch{/usr/local/etc/exim/pipe-aliases}}
condition =${lookup {$local_part@$domain}
lsearch{/usr/local/etc/exim/pipe-aliases} {yes} {no} }
local_users:
driver = redirect
condition = ${lookup {$local_part@$domain} lsearch
{/usr/local/etc/exim/passwd} {yes} {no} }
data = $local_part@$domain
redirect_router = autoreplay
.ifdef MAILMAN_ENABLE
mailman:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : -confirm+* : -join
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
transport = mailman
mailman_isp:
driver = accept
require_files =
MAILMAN_HOME/lists/$local_part-$domain/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : -confirm+* : -join
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
transport = mailman_isp
.endif
catchall_for_domains:
driver = redirect
headers_add = X-redirected: yes
data =
${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
file_transport = local_delivery
unknown_users:
driver = redirect
allow_fail = yes
data = :fail: Unknown user
no_more
autoreplay:
driver = accept
condition = ${if
exists{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/message.txt}
{yes} {no}}
retry_use_local_part
transport = address_reply
unseen
localuser:
driver = accept
transport = local_delivery
# Same routers without autoreplay
a_dnslookup:
driver = dnslookup
domains = !+dummy_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
self = pass
no_more
a_disabled_domains:
driver = redirect
condition =
${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
allow_fail = yes
data = :fail: Domain disabled
no_more
a_disabled_users:
driver = redirect
condition =
${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
allow_fail = yes
data = :fail: User disabled
no_more
a_local_domains:
driver = redirect
data =
${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
cannot_route_message = Unknown user
redirect_router = a_dnslookup
no_more
a_aliases:
driver = redirect
data =
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no}
}
redirect_router = a_dnslookup
a_aliases_pipe:
driver = accept
transport = aliases_pipe
condition = ${lookup {$local_part@$domain} lsearch
{/usr/local/etc/exim/pipe-aliases} {yes} {no} }
a_local_users:
driver = accept
transport = local_delivery
condition = ${lookup {$local_part@$domain} lsearch
{/usr/local/etc/exim/passwd} {yes} {no} }
.ifdef MAILMAN_ENABLE
a_mailman:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : -confirm+* : -join
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
transport = mailman
a_mailman_isp:
driver = accept
require_files =
MAILMAN_HOME/lists/$local_part-$domain/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : -confirm+* : -join
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
transport = mailman_isp
.endif
a_catchall_for_domains:
driver = redirect
headers_add = X-redirected: yes
data =
${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
file_transport = local_delivery
redirect_router = a_dnslookup
begin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
file =
${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/mbox
delivery_date_add
envelope_to_add
return_path_add
mode = 0660
quota =
${extract{3}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}M
quota_warn_threshold = 75%
use_lockfile = no
no_mode_fail_narrower
user =
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
group =
${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
address_pipe:
driver = pipe
return_output
aliases_pipe:
driver = pipe
command =
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/pipe-aliases}}}}
use_shell
address_reply:
driver = autoreply
headers =
${readfile{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/message.txt}}
to = $sender_address
.ifdef MAILMAN_ENABLE
mailman_isp:
driver = pipe
command = MAILMAN_WRAP '${if def:local_part_suffix
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}' $local_part-$domain
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
mailman:
driver = pipe
command = MAILMAN_WRAP '${if def:local_part_suffix
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}' $local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
.endif
.ifdef SA_ENABLE
spamcheck:
debug_print = "T: spamassassin_pipe for $local_part@$domain"
driver = pipe
command = EXIMBIN -oMr spam-scanned -bS
use_bsmtp
transport_filter = SPAMCBIN
home_directory = "/tmp"
current_directory = "/tmp"
user = mailnull
group = mail
return_fail_output
message_prefix =
message_suffix =
.endif
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
.ifdef MAILMAN_ENABLE
\N^(.*<)?([^<]*)@([^>]*).*$\N "${if
exists{MAILMAN_HOME/lists/${sg{$2}{-$3.*}{-$3}}/config.pck} {${sg{$0} {-$3}
{}}} {$0} }" S
\N^(.*<)?([^<]*)@([^>]*).*$\N "${if
exists{MAILMAN_HOME/lists/${sg{$2}{-$3.*}{-$3}}/config.pck} {${sg{$0} {-$3}
{}}} {$0} }"
.endif
begin authenticators
cram:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${extract {6} {:}
{${lookup{$1}lsearch{/usr/local/etc/exim/passwd}}}}
server_set_id = $1
plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_condition = ${if and{{!eq{$3}{}} {eq {$3} {${extract {6} {:}
{${lookup{$2}lsearch{/usr/local/etc/exim/passwd}}}}}}} {yes} {no} }
server_set_id = $2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${if and{{!eq{$2}{}} {eq {$2} {${extract {6} {:}
{${lookup{$1}lsearch{/usr/local/etc/exim/passwd}}}}}}} {yes} {no} }
server_set_id = $1
------------------------------------------------------
Mailman-Users mailing list [email protected]
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe:
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org