Comments (12)
Hi,
You can start with the following example as a basis for your compose.yaml file and adapt it according to the documentation and your requirements. Please note that even for a test you will need to add the proper DNS records for your domain to make it works.
services:
mailman:
image: d3fk/mailman2
container_name: mailman
hostname: ${EMAIL_HOST}
restart: always
ports:
- "80:80"
- "25:25"
- "465:465"
environment:
EMAIL_HOST: ${EMAIL_HOST}
URL_HOST: ${URL_HOST}
LIST_ADMIN: ${LIST_ADMIN}
MASTER_PASSWORD: ${MASTER_PASSWORD}
URL_PATTERN: ${URL_PATTERN}
URL_ROOT: ${URL_ROOT}
extra_hosts:
- ${EMAIL_HOST}:127.0.0.1
You can replace the env vars by your values in the compose.yaml or create in the same directory a .env file that will be easier to maintain e.g.:
.env
URL_HOST=lists.example.com
EMAIL_HOST=mails.example.com
[email protected]
MASTER_PASSWORD=example
URL_PATTERN=http
URL_ROOT=lists/
You can complete the compose.yaml and .env with environment variables listed in the ENVIRONMENT section
Then simply run your compose file with docker-compose up -d
and visit your $URL_HOST/$URL_ROOT/admin to start managing your mailing lists (indicate the mapped port after the URL_HOST if required).
Hope this helps.
from mailman2.
Dont forget to visit the logs of the mailman container you have created:
$ docker logs mailman
The logs will display the deployment steps of the container and provide you in the end with a valid DKIM public key value and the DKIM txt record that can be added to your DNS records to enable DKIM check for your mailman mailing list server.
The mailing lists cannot be really functional with a host set to localhost since they require a valid EMAIL_HOST name to be configured.
from mailman2.
from mailman2.
from mailman2.
Hi,
Glad it helps and thank you for the feedback ! đ
NB:
-
Yes, in the .env file the environment variables have to be given with a = as if they are set with a linux export.
-
In the compose.yaml file the environment values can be set either with an array or a dictionary (so either
- URL_HOST=lists.example.com
orURL_HOST: lists.example.com
https://docs.docker.com/compose/compose-file/compose-file-v3/#environment). Any boolean values (true, false, yes, no) need to be enclosed in quotes to ensure they are not converted to True or False by the YML parser. -
Regarding the LE certificate, if you need a rapid set up you can make use of the official core Certbot image
certbot/certbot
.
from mailman2.
from mailman2.
Hi,
The port redirection you mention is just port mapping, it is invisible for exim from the container, so they are not involved if your listed mapped ports are well open ports on your cloud IT.
This observed behaviour with new subscription is due to the configuration of mailman set by default in this container that were thought to be more convenient ... as stated in the documentation (mailman configuration).
You can activate the option entitled "Should administrator get notices of subscribes and unsubscribes?" from the mailing list interface(General options section) or change the default config file by using a volume.
NB: The MX DNS record is also important: it declares that your EMAIL_HOST is authorised to send email for your domain/subdomain name đ
from mailman2.
from mailman2.
I then suspected I had to add
- A record: server1 IN A < server IP address>
- A record: mails IN A (seems CNAME here is forbidden), may be useless
- MX record: mails IN MX 50 server1.eurosmart.com.
In your case, the A record for your domain name simply enables you to access your mailman website with a domain name, so, not strictly compulsory but pretty useful.
As your URL_HOST and EMAIL_HOST are different, you'll indeed also need an A record for your EMAIL_HOST to declare the subdomain/domain that will be associated to your email server/load-balancer/reverse-proxy.
The MX record is indeed required, you can define different priorities if you have several MX.
A PTR record will also have an important impact on your email deliverability since a reverse DNS lookups is made by email servers to ensure your email server is well who it says to be.
If you have gmail addresses in your mailing lists, a DKIM record will also probably be part of the minimal records since it seems that gmail would not accept mails from servers without a valid DKIM to avoid spoofing (not experimented, only got feedback about it ... maybe other email providers are requiring/will require it)
The other suggested records by the DNS configuration section of the documentation (i.e SPF and DMARC) are currently only improving the deliverability of your emails but they are more and more often checked by emails servers and they currently impact the SPAM tagging of your messages.
from mailman2.
By the way, I donât know where the issuing IP address mentioned
BTW it is probably the IP of the computer you used (or seen by the email server: might be a proxy depending on your configuration) to subscribe the new users to the list.
from mailman2.
from mailman2.
and Mailman is now able to send notifications for subscriptions.
Email notifications ? If email notifications for subscriptions are well sent by Mailman and delivered to a recipient, this recipient address receiving the notifications should also receive the messages sent to the list if this email address is well part of the members addresses of this list.
I just couldnât find how to set up the PTR record.
If part of your list members do not receive the message you might indeed encounter a problem of email deliverability due to a miss configured PTR record/reverse DNS: some email servers are less regarding to the PTR record but they are mostly small or local email servers, for the most used email servers it is now part of the rules to systematically check the PTR record before permitting the messages delivery.
The PTR record can be configured and controlled by the IP block owners (usually the server hosting company so probably you local hosting provider for your email service).
In case you own the local DNS server on our own, you'll need to create a reverse DNS zone.
In the event where your d3fk/mailman2 never sent an email till now you can check that you can send an email directly from the MTA (Exim) of your running d3fk/mailman2 container to one of your valid email address with something like the following command:
$ docker exec -ti mailman exim -v [email protected]
wait a few seconds for the empty prompt then enter the following lines
From: [email protected]
Subject: Test mail
Simple test message
Finally send your test email by pressing ctrl+d
; you should see the details about the SMTP connection that might help you for debugging purpose.
Hope this helps.
from mailman2.
Related Issues (11)
- exim4 relay not permitted error HOT 27
- mailman-request@ doesn't work because SYSTEM_ALIASES_PIPE_TRANSPORT is not set HOT 1
- Stops sending emails after rebooting the docker host HOT 3
- DEFAULT_URL_PATTERN variable line added to /etc/mm_cfg.py each time the container is restarted HOT 4
- syntax error in DKIM record with BIND 9.16.1-Ubuntu (Stable Release) HOT 3
- migrating from another server HOT 3
- Apache SSL certificate are not exposed as a docker volume HOT 2
- Admin interface crashed without prior config HOT 5
- Generated DKIM is too long for a TXT record HOT 1
- Digests don't work because run.sh doesn't start cron HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â€ïž Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mailman2.