Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
0fc12e5f3c | |||
8502fbd9a1 | |||
7adb4c1fde
|
|||
419b775dcb
|
|||
20c12df5ba
|
|||
0225fc26a6 | |||
e949df8a83 | |||
5ae80b4d9b |
@ -13,6 +13,12 @@ steps:
|
||||
dockerfile: Dockerfile
|
||||
when:
|
||||
- event: [push, tag]
|
||||
scan_image:
|
||||
image: aquasec/trivy
|
||||
commands:
|
||||
- trivy image $FORGE_NAME/$CI_REPO:$CI_COMMIT_SHA --quiet --exit-code 1
|
||||
when:
|
||||
- event: [push, tag]
|
||||
build:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM alpine:3.21.0
|
||||
FROM alpine:3.21.3
|
||||
|
||||
LABEL Maintainer="Wolfgang Hottgenroth <woho@hottis.de>"
|
||||
LABEL ImageName="quay.io/wollud1969/exim-docker"
|
||||
@ -12,7 +12,7 @@ ENV SMARTHOST_PASS=""
|
||||
# ip addresses or networks to allow for relaying, separate multiple ones by semicolon
|
||||
ENV RELAYNETS="127.0.0.1/32"
|
||||
|
||||
RUN apk add --no-cache exim m4 openssl
|
||||
RUN apk add --no-cache exim m4
|
||||
|
||||
COPY exim.conf.m4 /etc/exim
|
||||
COPY start.sh /etc/exim
|
||||
|
@ -8,7 +8,7 @@ kubectl create secret generic smtp-secrets \
|
||||
--from-literal=SMARTHOST="smtprelaypool.ispgateway.de" \
|
||||
--from-literal=SMARTHOST_USER="pseudosmarthostuser@hottis.de" \
|
||||
--from-literal=SMARTHOST_PASS="$SMARTHOST_PASSWORD" \
|
||||
--from-literal=RELAYNETS=":10.0.0.0/8" | \
|
||||
--from-literal=RELAY_NETWORKS=":10.0.0.0/8" | \
|
||||
kubectl apply -n system -f -
|
||||
|
||||
kubectl apply -n system -f deploy.yml
|
||||
|
@ -18,7 +18,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: smtp
|
||||
image: quay.io/wollud1969/exim-docker:0.2.2
|
||||
image: quay.io/wollud1969/exim-docker:0.2.1
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: smtp-secrets
|
||||
|
13
exim.conf.m4
13
exim.conf.m4
@ -5,6 +5,8 @@ define(`SMARTHOST', esyscmd(`echo -n $SMARTHOST'))dnl
|
||||
define(`SMARTHOST_USER', esyscmd(`echo -n $SMARTHOST_USER'))dnl
|
||||
define(`SMARTHOST_PASS', esyscmd(`echo -n $SMARTHOST_PASS'))dnl
|
||||
define(`RELAYNETS', esyscmd(`echo -n $RELAYNETS'))dnl
|
||||
define(`WHITELISTED_RECIPIENTS', esyscmd(`echo -n $WHITELISTED_RECIPIENTS'))dnl
|
||||
|
||||
|
||||
ifelse(SMARTHOST, `', `
|
||||
errprint(`Error: SMARTHOST not set')
|
||||
@ -16,14 +18,15 @@ errprint(`Error: HOSTNAME not set')
|
||||
m4exit(1)
|
||||
')
|
||||
|
||||
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl template for exim.conf
|
||||
|
||||
primary_hostname = HOSTNAME
|
||||
|
||||
acl_smtp_rcpt = acl_check_rcpt
|
||||
|
||||
tls_certificate = /etc/exim/tls.crt
|
||||
tls_privatekey = /etc/exim/tls.key
|
||||
tls_advertise_hosts =
|
||||
|
||||
begin routers
|
||||
smarthost_route:
|
||||
@ -58,8 +61,12 @@ begin acl
|
||||
acl_check_rcpt:
|
||||
accept
|
||||
hosts = RELAYNETS
|
||||
ifelse(WHITELISTED_RECIPIENTS, `', `', `
|
||||
accept
|
||||
domains = WHITELISTED_RECIPIENTS
|
||||
')
|
||||
deny
|
||||
message = "Relaying denied"
|
||||
message = "550 5.7.1 Relaying denied"
|
||||
|
||||
ifelse(LOCALMAILNAME, `', `', `
|
||||
begin rewrite
|
||||
|
@ -54,3 +54,4 @@ docker network connect mailer-network name_of_other_container
|
||||
|
||||
Now you can use the name of the mailer container, here `mailer` as smarthost name in that other container.
|
||||
|
||||
|
||||
|
7
start.sh
7
start.sh
@ -1,9 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
openssl genpkey -algorithm RSA -out tls.key && \
|
||||
openssl req -new -key tls.key -out tls.csr -subj "/C=DE/CN=$HOSTNAME" && \
|
||||
openssl x509 -req -in tls.csr -signkey tls.key -out tls.crt -days 3650 && \
|
||||
chown exim tls.key tls.crt && \
|
||||
m4 exim.conf.m4 > exim.conf && \
|
||||
exim -bd -q15m -v
|
||||
m4 exim.conf.m4 > exim.conf && exim -bd -q15m -v
|
||||
|
||||
|
Reference in New Issue
Block a user