ISPConfig With Mailman Guide

Discussion in 'Developers' Forum' started by calivent, Apr 24, 2009.

  1. federico

    federico New Member

    Hi Arriba,

    some notes in your files:

    === in mm_cfg.py
    -POSTFIX_STYLE_VIRTUAL_DOMAINS = [' ']
    in order to make it work we added by hand the lists of ISPCONFIG domains here.

    -MAT = 'Postfix'
    the correct syntax is
    MTA = 'Postfix'

    === in /etc/postfix/main.cf
    add hash:/var/lib/mailman/data/virtual-mailman to virtual_alias_maps instead of add it in virtual_maps

    Did you perform /usr/lib/mailman/bin/genaliases after the definition of a new list?

    Federico
     
  2. arriba

    arriba New Member

    can you show me your postfix and mailman conf ?
     
  3. federico

    federico New Member

    mailman conf file

    # -*- python -*-

    # Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
    #
    # This program is free software; you can redistribute it and/or
    # modify it under the terms of the GNU General Public License
    # as published by the Free Software Foundation; either version 2
    # of the License, or (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    # 02110-1301 USA


    """This is the module which takes your site-specific settings.

    From a raw distribution it should be copied to mm_cfg.py. If you
    already have an mm_cfg.py, be careful to add in only the new settings
    you want. The complete set of distributed defaults, with annotation,
    are in ./Defaults. In mm_cfg, override only those you want to
    change, after the

    from Defaults import *

    line (see below).

    Note that these are just default settings - many can be overridden via the
    admin and user interfaces on a per-list or per-user basis.

    Note also that some of the settings are resolved against the active list
    setting by using the value as a format string against the
    list-instance-object's dictionary - see the distributed value of
    DEFAULT_MSG_FOOTER for an example."""


    #######################################################
    # Here's where we get the distributed defaults. #

    from Defaults import *

    ##############################################################
    # Put YOUR site-specific configuration below, in mm_cfg.py . #
    # See Defaults.py for explanations of the values. #

    #-------------------------------------------------------------
    # The name of the list Mailman uses to send password reminders
    # and similar. Don't change if you want mailman-owner to be
    # a valid local part.
    MAILMAN_SITE_LIST = 'mailman'

    #-------------------------------------------------------------
    # If you change these, you have to configure your http server
    # accordingly (Alias and ScriptAlias directives in most httpds)
    DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/'
    PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private'
    IMAGE_LOGOS = '/images/mailman/'

    #-------------------------------------------------------------
    # Default domain for email addresses of newly created MLs
    DEFAULT_EMAIL_HOST = 'isp3.tdnet.it'
    #-------------------------------------------------------------
    # Default host for web interface of newly created MLs
    DEFAULT_URL_HOST = 'isp3.tdnet.it'
    #-------------------------------------------------------------
    # Required when setting any of its arguments.
    add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

    #-------------------------------------------------------------
    # The default language for this server.
    DEFAULT_SERVER_LANGUAGE = 'it'

    #-------------------------------------------------------------
    # Iirc this was used in pre 2.1, leave it for now
    USE_ENVELOPE_SENDER = 0 # Still used?

    #-------------------------------------------------------------
    # Unset send_reminders on newly created lists
    DEFAULT_SEND_REMINDERS = 0

    #-------------------------------------------------------------
    # Uncomment this if you configured your MTA such that it
    # automatically recognizes newly created lists.
    # (see /usr/share/doc/mailman/README.Exim4.Debian or
    # /usr/share/mailman/postfix-to-mailman.py)
    # MTA=None # Misnomer, suppresses alias output on newlist

    #-------------------------------------------------------------
    # Uncomment if you use Postfix virtual domains (but not
    # postfix-to-mailman.py), but be sure to see
    # /usr/share/doc/mailman/README.Debian first.
    POSTFIX_STYLE_VIRTUAL_DOMAINS = ['razzauti.org','turismo.garfagnana.eu']
    MTA='Postfix'

    #-------------------------------------------------------------
    # Uncomment if you want to filter mail with SpamAssassin. For
    # more information please visit this website:
    # http://www.jamesh.id.au/articles/mailman-spamassassin/
    # GLOBAL_PIPELINE.insert(1, 'SpamAssassin')

    # Note - if you're looking for something that is imported from mm_cfg, but you
    # didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py



    postfix conf file:

    # See /usr/share/postfix/main.cf.dist for a commented, more complete version


    # Debian specific: Specifying a file name will cause the first
    # line of that file to be used as the name. The Debian default
    # is /etc/mailname.
    #myorigin = /etc/mailname

    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no

    # appending .domain is the MUA's job.
    append_dot_mydomain = no

    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h

    readme_directory = /usr/share/doc/postfix

    # TLS parameters
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    smtpd_use_tls = yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

    # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    # information on enabling SSL in the smtp client.

    myhostname = ispconfig.local
    alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = ispconfig.local, localhost, localhost.localdomain
    relayhost =
    mynetworks = 127.0.0.0/8
    mailbox_command = procmail -a "$EXTENSION"
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    html_directory = /usr/share/doc/postfix/html
    virtual_alias_domains =
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_mailbox_base = /var/vmail
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
    smtpd_tls_security_level = may
    transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
    relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
    virtual_create_maildirsize = yes
    virtual_maildir_extended = yes
    virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
    virtual_mailbox_limit_override = yes
    virtual_maildir_limit_message = "The user you are trying to reach is over quota."
    virtual_overquota_bounce = yes
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
    smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
    maildrop_destination_concurrency_limit = 1
    maildrop_destination_recipient_limit = 1
    virtual_transport = maildrop
    header_checks = regexp:/etc/postfix/header_checks
    mime_header_checks = regexp:/etc/postfix/mime_header_checks
    nested_header_checks = regexp:/etc/postfix/nested_header_checks
    body_checks = regexp:/etc/postfix/body_checks
    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings
    message_size_limit = 0
    #
    #Mailman
    #
    #virtual_maps = hash:/var/lib/mailman/data/virtual-mailman
    owner_request_special = no
     
  4. arriba

    arriba New Member

  5. federico

    federico New Member

    Try to crate a symbolic link

    lrwxrwxrwx 1 root root mailman -> /usr/lib/cgi-bin/mailman
    in the following directories:

    /var/www/www.mydomain.ee/cgi-bin/
    and do the same in
    /var/www/www.second.ee/cgi-bin/

    federico
     
  6. arriba

    arriba New Member

    i trie to make symbolic link but then i get
    ERROR 500 - Internal Server Error!
    The following error occurred:
    The requested URL caused an internal server error.

    And i have one question how i can do like [email protected] and [email protected]
    same list name but different domain.
     
  7. planet_fox

    planet_fox Member HowtoForge Supporter

    Hi

    I was on Holiday, i have Federico have self solve the problems.I do in next time an update of the howto create and I'am watching for an translator for the howto in english.


    Best Regards

    Alex
     
  8. federico

    federico New Member

    Hi Arriba, sorry for this long delay .
    About the question : "how i can do like [email protected] and [email protected]
    same list name but different domain" .

    We had the same problem, now we add a new instance of mailman in each domain document root created by ispconfig. I think(know) that it may not be the best solution (we have about 100 domains to manages) and actually we are looking for other ways to do this.

    Best regards,
    Federico
     
  9. arriba

    arriba New Member

  10. federico

    federico New Member

    If you have a distinct instance of mailman for each domain (100 domains, 100 mailman instances) you have 100 mailman admins that can create/manage each one the lists associated to the single domain.

    Federico
     
  11. arriba

    arriba New Member

    i think im rookie.
    Can you post the guide how to do it.
    Is there some mailman web installation?
    it very helpful if you can put the installation guide how i can install mailman each domain seperatly.

    Thnaks you
     
  12. yotis

    yotis New Member

    Messages to lists not delivered to recipients

    Hello all!

    I have checked and double checked. Everything in the configuration files is as explained in this thread, but still the messages are not delivered to the final recipients.
    For example, I have a list [email protected] with 2 subscribers (I add them from administrative web interface) [email protected] and [email protected].
    Any message sent to [email protected] seems to be received by the system, but nothing arrived in the subscribers mail.

    May I ask for a little help to point me in the right direction?

    Thank you!
     
  13. federico

    federico New Member

    Some checks you can perform:

    I) execute ./check_perms in the bin directory of your mailman installation
    If problems arise perform again ./check_perms with -f options until no errors appair

    II) verify list and members using list_lists and list_members scripts in the same directory

    III) check if data/virtual-mailman exists in your mailman directory

    IV) if you use postfix check if main.cf contais the entry "hash:path-to-your/data/virtual-mailman" in the virtual_alias_maps sections.

    V) did you perform genaliases ?

    VI) are qrunner running?

    Obviously ..the mail usere exist ! :) can you see some errors in maillog file?


    I hope this coould help

    bye
    Federico
     
  14. yotis

    yotis New Member

    Hi federico

    Thanks for your reply!

    root@mx:/var/lib/mailman/bin# ./check_perms -f
    /var/lib/mailman/bin bad group (has: root, expected list) (fixing)
    /var/lib/mailman/logs bad group (has: root, expected list) (fixing)
    /var/lib/mailman/cron bad group (has: root, expected list) (fixing)
    /var/lib/mailman/Mailman bad group (has: root, expected list) (fixing)
    /var/lib/mailman/cgi-bin bad group (has: root, expected list) (fixing)
    /var/lib/mailman/templates bad group (has: root, expected list) (fixing)
    /var/lib/mailman/icons bad group (has: root, expected list) (fixing)
    /var/lib/mailman/scripts bad group (has: root, expected list) (fixing)
    /var/lib/mailman/locks bad group (has: root, expected list) (fixing)
    /var/lib/mailman/mail bad group (has: root, expected list) (fixing)
    Problems found: 10
    Re-run as list (or root) with -f flag to fix

    but

    root@mx:/var/lib/mailman# ls -la | grep bin
    lrwxrwxrwx 1 root root 20 2009-12-22 20:53 bin -> /usr/lib/mailman/bin

    this is a symbolic link, and it does not let me change the group

    root@mx:/usr/lib/mailman# ls -la /usr/lib/mailman/
    total 44
    drwxr-xr-x 7 root list 4096 2009-12-22 20:53 .
    drwxr-xr-x 80 root root 20480 2010-01-13 13:13 ..
    drwxr-xr-x 2 root list 4096 2009-12-22 20:53 bin
    drwxr-xr-x 2 root list 4096 2009-12-22 20:53 cron
    drwxr-xr-x 2 root list 4096 2009-12-22 20:53 mail
    drwxr-xr-x 11 root list 4096 2010-02-05 12:29 Mailman
    drwxr-xr-x 2 root list 4096 2009-12-22 20:53 scripts


    The rest of the points that you mention is as expected.
     
    Last edited: Feb 5, 2010
  15. federico

    federico New Member

    Try to exec check_perms -f more than one time until it fixs all problem !

    The script itself should fix all

    Federico
     
  16. jariasca

    jariasca Member

    Great post, I was having problems configuring mailman + posfix + ispconfig in my centos 5.4

    Now my setup is working perfect.

    thanks
    JOrge
     
  17. waynefourie

    waynefourie New Member

    ISPConfig 3 +Postfix +Mailman

    Hi,

    I have ISPConfig 3 and mailman running with postfix and all seems fine no errors in the log but I do not seem to receive the email when sent to [email protected].

    I have made 100% sure that all settings are correct and I checked permissions on the folders. Please see logs.

    Apr 5 00:08:53 mail postfix/qmgr[29443]: 001232576B: from=<[email protected]>, size=49181, nrcpt=1 (queue active)
    Apr 5 00:08:53 mail amavis[27143]: (27143-06) Passed CLEAN, LOCAL [192.168.0.2] [192.168.0.2] <[email protected]> -> <[email protected]>, Message-ID: <[email protected]>, mail_id: MwUqIj0cfzsB, Hits: 6.801, size: 48678, queued_as: 001232576B, 234 ms
    Apr 5 00:08:53 mail postfix/smtp[29454]: B85C325682: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.33, delays=0.08/0.01/0/0.24, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=27143-06, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 001232576B)
    Apr 5 00:08:53 mail postfix/qmgr[29443]: B85C325682: removed

    What did i miss?? Please assist.
     
  18. miththu

    miththu New Member

    I have last year testing isp2 and mailman. and than i have problems with configuration in postfix
     
  19. waynefourie

    waynefourie New Member

    ISPConfig 3 + Mailman

    I found the solution...

    I currently have Debian 5.04 +ISPConfig 3 +Postfix +Mailman working like a charm.

    Main.cf

    alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman

    mm_cfg.py

    DEFAULT_EMAIL_HOST = 'domain.com'
    DEFAULT_URL_HOST = 'www.domain.com'
    MTA='Postfix'
    POSTFIX_STYLE_VIRTUAL_DOMAINS = ['domain.com','domain2.com']

    Create the list and viola all done. I am testing it in ubuntu 10.04.

    2010/05/13
    I can now confirm that ispconfig 3 and mailman works 100% perfectly together with the same settings as mentioned above.
    In theory this means that all Linux Os' should work with ispconfig 3 and mailman with said settings.

    2010/06/04
    I have tried creating a mailman list for domain2.com...
    example: [email protected]

    And I kept failing, but I have finally figured it out after struggling for almost a month, and can one believe it!
    The solution is so simple...

    newlist -u www.domain2.com -e domain2.com listname [email protected] listpassword

    All done, now the admin will automatically receive an email reply stating to send mail to [email protected]
    Also note that ispconfig 3 is a bit picky so you need to create a symlink for /cgi-bin/mailman in /var/www/site_domain2/cgi/

    example: ln -s /usr/lib/cgi-bin/mailman/ /var/www/site_domain2.com/cgi-bin/mailman

    Also remember to enable the CGI option in Ispconfig 3 web portal.

    Regards,
    Wayne
     
    Last edited: Jun 23, 2010
  20. planet_fox

    planet_fox Member HowtoForge Supporter

    Nice, how is the perfect way for this

    Mailman Howto + Your Modification ?

    Thanks
     

Share This Page