Skip to content
Snippets Groups Projects
Select Git revision
  • 8786b5957420393cf945c4fca03c3fa0409ace42
  • master default protected
  • opendkim-multiple-domains-test
3 results

sympa

David Beniamine's avatar
8786b595
History

Sympa docker

WIP notice

This image is a Work In Progress and should only be used for testing purposes.

For now only the web interface and SOAP API have been tested.

This image should be combined with a postfix container to actually send mail, this part and the list_configuration have not been tested / documented yet

What is this repository

This repository provides two docker images that works together to receive and send email to mailing lists : postfix and sympa.

There is an illustration of how they work together:

graph LR
    subgraph Sympa
      sympa
      nullmailer
    end
    subgraph internet
        relayin
        relayout
    end
    relayin -->|smtp entrant| postfix
    postfix -->|ssh| sympa
    sympa --> nullmailer
    nullmailer -->|smtp| postfix
    postfix -->|smtp| relayout

Installation

  1. Copy .env.sample to .env and adapt
  2. docker-compose up --build
  3. Go to localhost:8081 try to login and click first_login

Enable sending mails

You need to add sympa_rewrite and sympa_transport files to sympa/shared/ directory:

Example of a sympa_rewrite file:

/^sympa-request@/	postmaster
/^sympa-owner@/		postmaster
/(.+)-owner@(.+)/	$1+owner@$2

Example of a sympa_transport file, for each domain you have Sympa providing mailing lists:

/^sympa@example\.com$/	 sympadomain:
/^abuse-feedback-report@example\.com$/	 sympabouncedomain:
/^bounce\+.*@example\.com$/	 sympabouncedomain:
/^listmaster@example\.com$/	 sympa:
/^.+(announce|list|info|event|press|talk|news)\+owner@example\.com$/	sympabounce:
/^.+(announce|list|info|event|press|talk|news)(-request|-editor|-subscribe|-unsubscribe)?@example\.com$/	sympa:

In this example, the variables SYMPA_DOMAIN and POSTFIX_VIRTUAL_DOMAINS should be example.com

Configuration

You can add and modify files in etc directory, do not forget to restart the container afterwards