Mailman

O Mailman é um programa open source para administração de discussões por listas de e-mail e newsletter. Muitas das listas de e-mail open source (incluindo todas as listas de e-mail Ubuntu) utilizam o Mailman. Ele é poderoso e fácil de instalar e manter.

Instalação

O Mailman provê uma interface web para administradores e usuários. Logo, ele requer apache com suporte mod_perl. O Mailman utiliza um servidor de e-mail externo para enviar e receber mensagens. Ele funciona perfeitamente com os seguintes servidores:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Nós veremos como instalar o mailman, o servidor web apache e o servidor de e-mail Exim. Caso você queira instalar o mailman com um servidor de e-mail diferente, favor consultar a seção de referências.

Apache2

To install apache2 you refer to HTTPD Installation section for details.

Exim4

Para instalar o Exim4 você executa os seguintes comandos em um interpretador de terminal:

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

Depois que o exim4 estiver instalado, os arquivos de configuração estarão localizados no diretório /etc/exim4. No Ubuntu, por padrão, os arquivos de confguração do exim4 são distribuidos entre diferentes arquivos. Você pode mudar essa característica modificando a seguinte variável no arquivo /etc/exim4/update-exim4.conf:

  • dc_use_split_config='true'

Mailman

Para instalar o Mailman, execute o seguinte comando em um prompt de terminal:

sudo apt-get install mailman 

Ele copia os arquivos de instalação para o diretório /var/lib/mailman, instala os scripts CGI no diretório /usr/lib/cgi-bin/mailman. cria o usuário de linux list, cria o grupo de linux list. O processo mailman será controlado por este usuário.

Configuração

Esta seção assume que você já tenha instalado com sucesso o mailman, o apache2, e o exim4. Agora você só precisa configurá-los.

Apache2

Uma vez que o apache2 esteja instalado, você pode adicionar as seguintes linhas no arquivo /etc/apache2/apache2.conf:

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

O Mailman utiliza o apache2 para renderizar seus scripts CGI. Os scripts CGI do mailman são instalados no diretório /usr/lib/cgi-bin/mailman. Logo, a URL do mailman será http://hostname/cgi-bin/mailman/. Você pode fazer alterações no arquivo /etc/apache2/apache2.conf caso queira alterar este comportamento.

Exim4

Uma vez que o Exim4 esteja instalado, você pode inicializar o servidor Exim utilizando o seguinte comando a partir de um prompt de terminal:

sudo apt-get /etc/init.d/exim4 start

Com o sentido de fazer o mailman trabalhar com o exim4, você deve configurar o exim4. Como mencionado anteriormente, por padrão, exim4 utiliza múltiplos arquivos de configuração de diferentes tipos. Para maiores detalhes, acesse, por favor, o seguinte website Exim. Para executar o mailman, você deveria adicionar um novo arquivo de configuração aos seguintes tipos de configuração:

  • Principal

  • Transporte

  • Roteador

O Exim cria um arquivo mestre de configuração classificando todos estes pequenos arquivos de configuração. Logo, a ordem de tais arquivos de configuração é muito importante.

Principal

Todos os arquivos que pertençam ao tipo principal são armazenados no diretório /etc/exim4/conf.d/main/. Você pode adicionar o seguinte conteúdo a um novo arquivo, chamado 04_exim4-config_mailman:

# início
# Diretório inicial para sua instalação do mailman -- tambem conhecido
# como diretório prefixo do Mailman directory.
# No Ubuntu isso deve ser "/var/lib/mailman"
# É geralmente o mesmo que ~mailman
MM_HOME=/var/lib/mailman
#
# Usuário e grupo para o Mailman, deve equivaler ao seu parâmetro 
# --with-mail-gid ao script "configura" do Mailman. O valor é normalmente
# "mailman"
MM_UID=list
MM_GID=list
#
# Domínios onde estão suas listas - lista separada por vírgulas
# você pode querer adicioná-los também ao local_domains
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#
# Estes valores são derivados daqueles acima and você não deverá 
# precisar editá-los a não ser que você tenha bagunçado a sua instalação
# do mailman
#
# O caminho do script wrapper de email do Mailman
MM_WRAP=MM_HOME/mail/mailman
#
# O arquivo do arquivo de configuração da lista (usado como um arquivo
# requerido quando se verifica endereços de listas)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# fim

Transporte

Todos os arquivos que pertençam ao tipo de transporte são armazenados no diretório /etc/exim4/conf.d/transport/. Você pode adicionar o seguinte conteúdo a um novo arquivo chamado 40_exim4-config_mailman:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Roteador

Todos os arquivos de configuração pertencentes ao tipo de roteamento são armazenados no diretório /etc/exim4/conf.d/router/. Você pode adicionar o seguinte contéudo em um novo arquivo chamado 101_exim4-config_mailman:

  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport
[Atenção]

A ordem dos arquivos de configuração principais e de transporte podem estar em qualquer ordem. Mas, a ordem dos arquivos de configuração de roteamento deve a mesma. Este arquivo particular deve aparecer antes do arquivo 200_exim4-config_primary. Estes dois arquivos de configuração contêm o mesmo tipo de informação. O primeiro arquivo toma a precedência. Para mais detalhes, consulte, por favor, a seção das referências.

Mailman

Once mailman is installed, you can run it using the following command:

sudo /etc/init.d/mailman start

Once mailman is installed, you should create the default mailing list. Run the following command to create the mailing list:

sudo /usr/sbin/newlist mailman

  Informe o endereço de e-mail da pessoa que administra a lista: bhuvan at ubuntu.com
  Senha inicial do mailman:
  Para finalizar a criação de sua lista de e-mail, você deve editar o arquivo /etc/aliases (ou
  equivalente) adicionando as seguintes linhas, e possivelmente executando o
  programa `newaliases':

  ## lista de e-mail mailman
  mailman: "|/var/lib/mailman/mail/mailman post mailman"
  mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
  mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
  mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
  mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
  mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
  mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
  mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
  mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
  mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

  Aperte enter para notificar o proprietário mailman...

  # 

We have configured exim to recognize all emails from mailman. So, it is not mandatory to make any new entries in /etc/aliases. If you have made any changes to the configuration files, please ensure that you restart those services before continuing to next section.

Administração

Nós assumimos que você tem uma instalação padrão. Os scripts cgi do mailman estãono diretório /usr/lib/cgi-bin/mailman/. Mailman provê a facilidade de administração baseada em web. Para acessar essa página, aponte seu navegador para a seguinte url:

http://hostname/cgi-bin/mailman/admin

A lista de email padrão, mailman, irá aparecer nessa tela. Se você clicar no nome da lista de email, isso irá solicitar a você a senha e autenticação. Se você entrar com a senha correta, você será capaz de alterar as configurações administrativas da lista de email. Você pode criar uma nova lista de email usando a linha de comando (/usr/sbin/newlist). Alternativamente, você pode criar uma nova lista de email usando a interface web.

Usuários

O Mailman fornece uma interface web aos usuários. Para acessar essa página, aponte seu browser para a seguinte URL:

http://hostname/cgi-bin/mailman/listinfo

A lista de e-mail padrão, mailman, aparecerá nesta tela. Se você clicar no nome da lista, será apresentado o formulário para inscrição. Você pode informar se endereço de e-mail, nome (opcional), e senha para se inscrever. Um convite será enviado a você por e-mail. Você pode seguir as instruções no email para se inscrever.

Referências

GNU Mailman - Manual de Instalação

HOWTO - Usando o Exim 4 e oMailman 2.1 juntos