Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9a5f55b144
|
|||
|
6edd8cebfb
|
|||
|
44c2bfdd88
|
|||
|
ca9ff3cba6
|
|||
|
6cd2b001d6
|
|||
|
295cc587b3
|
|||
|
bc912f9127
|
|||
|
5b0b6b0589
|
|||
|
cb5b774f5d
|
|||
|
c6faeaed2e
|
|||
|
4164c340df
|
|||
|
a8e7e83881
|
|||
|
173f80b50d
|
|||
|
f57a2fedb4
|
|||
|
6fc0a1ed17
|
10
Dockerfile
10
Dockerfile
@@ -3,7 +3,13 @@ FROM alpine:3.22.2
|
||||
LABEL Maintainer="Wolfgang Hottgenroth <woho@hottis.de>"
|
||||
LABEL ImageName=""
|
||||
|
||||
RUN apk add --no-cache exim
|
||||
RUN \
|
||||
apk add --no-cache exim && \
|
||||
mkdir -p /var/log/exim && \
|
||||
chown exim:mail /var/log/exim && \
|
||||
ln -sf /dev/stdout /var/log/exim/mainlog && \
|
||||
ln -sf /dev/stdout /var/log/exim/rejectlog && \
|
||||
ln -sf /dev/stdout /var/log/exim/paniclog
|
||||
|
||||
COPY exim.conf /etc/exim
|
||||
RUN chmod 644 /etc/exim/exim.conf
|
||||
@@ -12,6 +18,6 @@ WORKDIR /etc/exim
|
||||
|
||||
EXPOSE 25
|
||||
|
||||
CMD [ "/usr/sbin/exim", "-bd", "-q15m", "-v" ]
|
||||
CMD [ "/usr/sbin/exim", "-bdf", "-q15m" ]
|
||||
|
||||
|
||||
@@ -32,6 +32,14 @@ spec:
|
||||
- name: smtp
|
||||
containerPort: 25
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: 25
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
volumeMounts:
|
||||
- name: exim-config
|
||||
mountPath: /etc/exim/db
|
||||
@@ -66,6 +74,7 @@ metadata:
|
||||
name: exim-forwarder
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
externalTrafficPolicy: Local
|
||||
selector:
|
||||
app: exim-forwarder
|
||||
ports:
|
||||
|
||||
16
exim.conf
16
exim.conf
@@ -6,11 +6,9 @@ tls_advertise_hosts = *
|
||||
tls_certificate = /etc/exim/ssl/server.crt
|
||||
tls_privatekey = /etc/exim/ssl/server.key
|
||||
|
||||
log_output = syslog
|
||||
syslog_facility = mail
|
||||
syslog_tag = exim-forwarder
|
||||
syslog_host = 172.20.0.10
|
||||
syslog_port = 514
|
||||
log_file_path = /var/log/exim/%slog
|
||||
log_selector = -all
|
||||
message_logs = true
|
||||
|
||||
|
||||
# acl_smtp_connect = acl_connect
|
||||
@@ -32,11 +30,11 @@ acl_helo:
|
||||
|
||||
acl_rcpt:
|
||||
# recipient verification
|
||||
deny message = User unknown
|
||||
deny message = Access denied (1)
|
||||
!verify = recipient
|
||||
|
||||
# SPF check
|
||||
deny message = Access denied (1)
|
||||
deny message = Access denied (2)
|
||||
spf = fail
|
||||
|
||||
# Greylisting
|
||||
@@ -44,12 +42,12 @@ acl_rcpt:
|
||||
!seen = 72h / key=${sender_address}_${local_part}@${domain}
|
||||
|
||||
# Rate limit
|
||||
deny message = Access denied (2)
|
||||
deny message = Access denied (3)
|
||||
ratelimit = 10 / 10m / strict
|
||||
|
||||
accept condition = ${if match_domain{$domain}{+forward_domains}{yes}{no}}
|
||||
|
||||
deny message = Access denied (x)
|
||||
deny message = Access denied (4)
|
||||
|
||||
acl_data:
|
||||
warn dkim_status = invalid
|
||||
|
||||
Reference in New Issue
Block a user