Line 1: |
Line 1: |
| + | {{Languages|Mailman}} |
| ==Mailman== | | ==Mailman== |
| | | |
| + | === Maintainer === |
| + | [mailto:stephdl@de-labrusse.fr stephdl] Stéphane de Labrusse AKA [[User:stephdl|Stephdl]]<br /> |
| + | === Version === |
| + | {{ #smeversion: smeserver-mailman }} |
| ===Description=== | | ===Description=== |
| | | |
Line 8: |
Line 13: |
| | | |
| === Installation === | | === Installation === |
| + | <tabs container><tab name="For SME 10"> |
| + | yum install smeserver-mailman --enablerepo=smecontribs |
| + | </tab><tab name="For SME 9 and SME 8"> |
| + | * for sme8, sme9 |
| + | yum install smeserver-mailman --enablerepo=smecontribs |
| + | signal-event mailman-update |
| + | or if you want to restart your server |
| + | signal-event post-upgrade;signal-event reboot |
| + | </tab> |
| + | </tabs> |
| | | |
− | wget http://www.gormand.com.au/smeserver/WIP/smeserver-mailman/smeserver-mailman-1.3.0-14.noarch.rpm
| + | You should now see a Mailman section under the Configuration section of the server-manager. Please see Known issues below to set up your mailman session. Keep in mind that the mailman administrator password is not the same as the SME Server one, [[Mailman#Error:_You_are_not_authorized_to_create_new_mailing_lists|Read the section below to see how find your password]]. |
− | wget http://www.gormand.com.au/smeserver/WIP/smeserver-mailman/mailman-2.1.5.1-34.rhel4.3sme01.i386.rpm
| |
− | yum localinstall mailman-2.1.5.1-34.rhel4.3sme01.i386.rpm smeserver-mailman-1.3.0-14.noarch.rpm
| |
| | | |
− | You should now see a Mailman section under the Configuration section of the server-manager.
| + | === Configuration === |
| + | |
| + | ==== Configure access ==== |
| + | By default only listing public lists is enabled from outside the LAN. Admin is reserved for LAN access, and also Archive browsing. |
| + | |
| + | Option setting is also attached to the public listing access, so external users can modify their preferences. |
| | | |
− | === Configuration === | + | To modify those setting just go to server-manager and modify according to your needs. |
| + | |
| + | ==== Creating lists ==== |
| + | ===== Error: You are not authorized to create new mailing lists===== |
| + | |
| + | The administrator of SME Server isn't allowed to create Lists (even from the server-manager), this is how obtain the mailman administrator password. see [[bugzilla:7836]] |
| + | |
| + | {{Tip box|The mailman password is different of the admin password of SME Server, therefore to know the mailman Password you can issue the following command in a root terminal}} |
| + | [root@sme8dev64 ~]# config show mailman |
| + | mailman=service |
| + | SitePass=[YOUR_PASSWORD_IS_HERE] |
| + | status=enabled |
| + | |
| + | You have to use the value of SitePass as your mailman password to create Lists. If you change the password later with '''/usr/lib/mailman/bin/mmsitepass''' you '''*SHOULD*''' update SitePass using |
| + | |
| + | config setprop mailman SitePass YOUR_PASSWORD |
| + | |
| + | ===== Error: Unknown virtual host: xxxxxx.xx===== |
| + | Go to http://domain.name/mailman to create new lists. |
| + | |
| + | If your SMEServer has multiple domains configured, do not prepend www. before the virtual domain. |
| + | |
| + | For example: go to http://virtualdomain.name/mailman to create lists for that domain name. |
| + | |
| + | Keep in mind that '''no list can have the same name as an ibay, group or an user''' so choose the name carefully. |
| + | {{Note box|msg=Always use http://domain.name/mailman to create your list, where domain.name is the exact domain you want to be used after the "@". Failing to do so, will lead to denial to relay error. As an example do not go to http://hostname.domain.name/mailman to create a mailing list for mailinglist@domain.name but to http://domain.name/mailman. see [[Bugzilla:5976]] |
| + | |
| + | '''If you don't use a FQDN domain Name as described above''', you can have an error like this one |
| + | Error: Unknown virtual host: xxxxxx |
| + | where xxxxxx is the hostname of your Server. see [[bugzilla:7837]] |
| + | }} |
| + | |
| + | {{Tip box|Further more You have to define the concerned domain in the server-manager's domain panel. You can select whether this domain is resolved locally, passed to the corporate DNS servers, or resolved by the Internet DNS servers, otherwise you will have the message: '''Error: Unknown virtual host: xxxxxx'''}} |
| + | |
| + | ===== "www" instead of "apache" ===== |
| + | But if you are not running the contribs compiled version, Mailman's management interface shows up with a CGI error message. It complains about group mismatch error between "www" and "apache". Login as root and apply the following workaround, which was suggested in [[bugzilla:6425]]: |
| + | |
| + | id -u apache # should yield 48 |
| + | id -u www # should yield 102 |
| + | usermod -u 102 -o apache # makes apache user and www user identical |
| + | groupmod -g 102 -o apache # make apache group and www group identical |
| | | |
| ==== File locations ==== | | ==== File locations ==== |
| | | |
− | {| | + | {|border="1" |
| |- | | |- |
| ! Location | | ! Location |
Line 33: |
Line 91: |
| | location of qmail alias files | | | location of qmail alias files |
| |} | | |} |
− |
| |
− | ==== Creating lists ====
| |
− | Go to http://domain.name/mailman to create new lists.
| |
− |
| |
− | If your SMEServer has multiple domains configured, do not prepend www. before the virtual domain.
| |
− |
| |
− | For example: go to http:// virtualdomain.name/mailman to create lists for that domain name.
| |
− |
| |
| ==== Command line options ==== | | ==== Command line options ==== |
| You can do a lot using the command line scripts located in /usr/lib/mailman/bin | | You can do a lot using the command line scripts located in /usr/lib/mailman/bin |
| | | |
| For example | | For example |
− | {| | + | {|border="1" |
| |- | | |- |
| | /usr/lib/mailman/bin/mmsitepass | | | /usr/lib/mailman/bin/mmsitepass |
− | | will set the master password for all lists | + | | will set the master password for all lists |
| + | |- |
| + | | /usr/lib/mailman/bin/list_members [listname] |
| + | | will list the members of [listname] |
| + | |- |
| + | | /usr/lib/mailman/bin/list_admins [listname] |
| + | | will list all admins of [listname] |
| |- | | |- |
− | | /usr/lib/mailman/bin/list-members [listname] | + | | /usr/lib/mailman/bin/list_lists |
− | | will list the members of [listname] | + | | will list your mailling lists |
| + | |- |
| + | | /usr/lib/mailman/bin/list_owners |
| + | | will list all owners of mailling lists or will list all mailling lists |
| |} | | |} |
− | Running the script with --help will display the options available | + | Running the script with --help will display the options available. |
| + | |
| + | ==== Transferring Lists ==== |
| + | You can transfer lists from another server and keep everything intact. It's an easy process but the Mailman FAQ and info seems to be sparse and complicated. This simplifies everything. |
| + | |
| + | OLD SERVER |
| + | |
| + | First stop the mailman service. |
| + | /etc/init.d/mailman stop |
| + | Next, tar/zip up the lists. |
| + | tar -czvf /temp/mailman.tar.gz /var/lib/mailman |
| + | Next, transfer it onto the new server using scp or rsync: |
| + | scp -P <sshportnumber> /temp/mailman.tar.gz <newserverip>:/var/lib |
| + | or |
| + | rsync --progress -te "ssh -p <sshportnumber>" /temp/mailman.tar.gz <newserverip>:/var/lib |
| + | |
| + | NEW SERVER |
| + | |
| + | Change to the rpm location. |
| + | cd /install |
| + | Install the rpms. |
| + | yum localinstall mailman-* smeserver-mailman-* |
| + | Extract/untar/unzip the tar/zip file. |
| + | tar -xvzf /var/lib/mailman.tar.gz |
| + | The lists are transferred but the SME SERVER doesn't know about them. Let the server know about the lists: |
| + | signal-event mailman-addlist <listname> |
| + | |
| + | All your lists and lists' configurations should now be available at: http://domain.name/mailman |
| + | |
| + | === Personalization === |
| + | |
| + | {{Note box|Be warned that personalization is going to stress your server a lot as every mail is sent individually, not in batches as mailman usually do, so test this option before using in a production server.}} |
| + | |
| + | If you want to enable personalization in mailman (make every mail sent with the name of the recipient in the to: field as example or add the name of the user on the text) you do this: |
| + | <ol><li>Create the custom-templates tree, in case it does not exist already: |
| + | mkdir -p /etc/e-smith/templates-custom/usr/lib/mailman/Mailman/mm_cfg.py/ |
| + | </li><li> |
| + | Copy the hostname file from the templates tree to the templates-custom tree maintaining the directory layout: |
| + | cp \ |
| + | /etc/e-smith/templates/usr/lib/mailman/Mailman/mm_cfg.py/30hostname \ |
| + | /etc/e-smith/templates-custom/usr/lib/mailman/Mailman/mm_cfg.py/30hostname |
| + | </li><li> |
| + | Now we need to add one line to the custom template fragment to enable personalization: |
| + | echo OWNERS_CAN_ENABLE_PERSONALIZATION = 1 >> \ |
| + | /etc/e-smith/templates-custom/usr/lib/mailman/Mailman/mm_cfg.py/30hostname |
| + | </li><li> |
| + | To reflect your changes we need to regenerate the file using the following commands: |
| + | expand-template /usr/lib/mailman/Mailman/mm_cfg.py |
| + | signal-event smeserver-mailman-update |
| + | </li><li> |
| + | After the server comes back up again enter your mailing list admin and go to non-digest and in "Should Mailman personalize each non-digest delivery?" choose either yes or full personalization. Test both to see wich one do you like more... |
| + | Also if you want to add a header with the person name enter in "Header added to mail sent to regular list members" this: |
| + | Hello dear %(user_name)s |
| + | and mailman is going to replace the string with the name the person used when he/she subscribed. |
| + | </li></ol> |
| + | |
| + | ===Import lists from ezmlm=== |
| + | Get the script ezmlm2mbox from http://www.arctic.org/~dean/scripts/ezmlm2mbox |
| + | wget http://www.arctic.org/~dean/scripts/ezmlm2mbox -O |
| + | Get subscribers: |
| + | ezmlm-list /home/e-smith/files/ezmlm/lists/mylist > mylist.subscribers |
| + | Get denied subscribers: |
| + | ezmlm-list /home/e-smith/files/ezmlm/lists/mylist deny > mylist.deny |
| + | Convert the ezmlm list to an mbox-file: |
| + | ./ezmlm2mbox /home/e-smith/files/ezmlm/lists/mylist > mylist.mbox |
| + | Backup the ezmlm list, just in case ... |
| + | tar -czf mylist.tgz /home/e-smith/files/ezmlm/lists/mylist |
| + | |
| + | Then using the server-manager: |
| + | # Remove the ezmlm list, via the ezmlm web panel |
| + | # Create the new Mailman list, via the Mailman web panel |
| + | # Add subscribers to the new list, using the file you made in step 1. I prefer to do this in silence, without letting the subscribers know. |
| + | # Check the file mylist.deny from step 2, and - if needed - adjust the settings of your new list accordingly. |
| + | |
| + | |
| + | Import the mbox to Mailman |
| + | cp mylist.mbox /var/lib/mailman/archives/private/mylist.mbox/mylist.mbox |
| + | /opt/mailman/bin/arch --wipe mylist |
| + | Check and fix ownerships and access rights |
| + | /opt/mailman/bin/check_perms -f |
| + | |
| + | from : https://forums.contribs.org/index.php/topic,53230.0.html |
| | | |
| === For more information === | | === For more information === |
Line 60: |
Line 200: |
| | | |
| === Current Issues === | | === Current Issues === |
− | * Check submitted bugs in the bug tracker under the contrib component "smeserver-mailman"
| + | |
− | * Current mailman release is 2.1.9
| + | === Bugs === |
− | * [[Bugzilla:2411]]: /usr/lib/mailman/aliases and /var/lib/mailman are not currently backed up
| + | Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] |
| + | and select the smeserver-mailman component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-mailman|title=this link}}. |
| + | |
| + | {{#bugzilla:columns=id,product,version,status,summary |sort=id|order=desc |component=smeserver-mailman|noresultsmessage="No open bugs found."}} |
| + | |
| + | = Changelog = |
| + | Only released versions in smecontrib are listed here. |
| + | |
| + | {{#smechangelog:smeserver-mailman}} |
| + | |
| | | |
| ---- | | ---- |
| [[Category:Contrib]] | | [[Category:Contrib]] |
| [[Category:Mail]] | | [[Category:Mail]] |
| + | [[Category:Mail:Mailinglists]] |