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 n...@list.somename.name
> Address rewritten as: n...@list.somename.name
> n...@list.somename.name
>     <-- n...@list.somename.name
>     <-- n...@list.somename.name
>     <-- n...@list.somename.name
>   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 maillistn...@list.somename.name 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 
> <news-boun...@list.somename.name>: all relevant MX records point to 
> non-existent hosts
> H=mail.somename.name [xxx.xxx.xxx.xxx] F=<news-boun...@list.somename.name> 
> rejected RCPT <mailman-ow...@list.somename.name>: Sender verify failed
> H=mail.somename.name [xxx.xxx.xxx.xxx] sender verify fail for 
> <news-boun...@list.somename.name>: all relevant MX records point to 
> non-existent hosts
>  H=mail.somename.name [xxx.xxx.xxx.xxx] F=<news-boun...@list.somename.name> 
> rejected RCPT <a...@somename.name>: Sender verify failed
> H=router45-readme.domainname1.net ([0.0.0.0]) [xxx.xxx.xxx.xxx] 
> F=<a...@somename.name> rejected RCPT <mailman-requ...@list.somename.name>: 
> 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 == n...@list.somename.name (n...@list.somename.name, 
> n...@list.somename.name) <n...@list.somename.name> R=localuser 
> T=local_delivery defer (13): Permission denied: while creating mailbox 
> /usr/local/mailman/archives/private/news.mbox/mbox
>  1Qqh5b-0001Qz-Kx == n...@list.somename.name (n...@list.somename.name, 
> n...@list.somename.name) <n...@list.somename.name> 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 Mailman-Users@python.org
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

Reply via email to