use m4 for config generation
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
0bf33c582f
commit
8464bf1f41
@ -10,11 +10,11 @@ ENV SMARTHOST=""
|
|||||||
ENV SMARTHOST_USER=""
|
ENV SMARTHOST_USER=""
|
||||||
ENV SMARTHOST_PASS=""
|
ENV SMARTHOST_PASS=""
|
||||||
# ip addresses or networks to allow for relaying, separate multiple ones by semicolon
|
# ip addresses or networks to allow for relaying, separate multiple ones by semicolon
|
||||||
ENV RELAYNETS=""
|
ENV RELAYNETS="127.0.0.1/32"
|
||||||
|
|
||||||
RUN apk add --no-cache exim bash
|
RUN apk add --no-cache exim m4
|
||||||
|
|
||||||
COPY exim.conf.tmpl /etc/exim
|
COPY exim.conf.m4 /etc/exim
|
||||||
COPY start.sh /etc/exim
|
COPY start.sh /etc/exim
|
||||||
|
|
||||||
WORKDIR /etc/exim
|
WORKDIR /etc/exim
|
||||||
@ -22,6 +22,7 @@ WORKDIR /etc/exim
|
|||||||
EXPOSE 25
|
EXPOSE 25
|
||||||
|
|
||||||
CMD [ "./start.sh" ]
|
CMD [ "./start.sh" ]
|
||||||
|
#CMD [ "/usr/bin/m4 exim.conf.m4 > exim.conf && /usr/sbin/exim -bd -q15m -v" ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
9
ENV
Normal file
9
ENV
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
export HOSTNAME=`hostname`
|
||||||
|
export LOCALMAILNAME="hottis.de"
|
||||||
|
#export LOCALMAILNAME=""
|
||||||
|
export SMARTHOST=smtprelaypool.ispgateway.de
|
||||||
|
#export SMARTHOST=""
|
||||||
|
export SMARTHOST_USER=pseudosmarthostuser@hottis.de
|
||||||
|
#export SMARTHOST_USER="_"
|
||||||
|
export SMARTHOST_PASS="Chaediek3Chaer7u"
|
||||||
|
export RELAYNETS="0.0.0.0/0"
|
64
exim.conf.m4
Normal file
64
exim.conf.m4
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
dnl values
|
||||||
|
define(`HOSTNAME', esyscmd(`echo -n $HOSTNAME'))dnl
|
||||||
|
define(`LOCALMAILNAME', esyscmd(`echo -n $LOCALMAILNAME'))dnl
|
||||||
|
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
|
||||||
|
|
||||||
|
ifelse(SMARTHOST, `', `
|
||||||
|
errprint(`Error: SMARTHOST not set')
|
||||||
|
m4exit(1)
|
||||||
|
')
|
||||||
|
|
||||||
|
ifelse(HOSTNAME, `', `
|
||||||
|
errprint(`Error: HOSTNAME not set')
|
||||||
|
m4exit(1)
|
||||||
|
')
|
||||||
|
|
||||||
|
dnl template for exim.conf
|
||||||
|
|
||||||
|
primary_hostname = HOSTNAME
|
||||||
|
|
||||||
|
acl_smtp_rcpt = acl_check_rcpt
|
||||||
|
|
||||||
|
begin routers
|
||||||
|
smarthost_route:
|
||||||
|
driver = manualroute
|
||||||
|
domains = *
|
||||||
|
transport = smarthost_smtp
|
||||||
|
route_list = * SMARTHOST
|
||||||
|
|
||||||
|
begin transports
|
||||||
|
smarthost_smtp:
|
||||||
|
driver = smtp
|
||||||
|
port = 25
|
||||||
|
multi_domain
|
||||||
|
ifelse(SMARTHOST_USER, `', `', `dnl
|
||||||
|
hosts_require_auth = *
|
||||||
|
')
|
||||||
|
|
||||||
|
ifelse(SMARTHOST_USER, `', `', `
|
||||||
|
begin authenticators
|
||||||
|
plain:
|
||||||
|
driver = plaintext
|
||||||
|
public_name = PLAIN
|
||||||
|
client_send = ^SMARTHOST_USER^SMARTHOST_PASS
|
||||||
|
|
||||||
|
login:
|
||||||
|
driver = plaintext
|
||||||
|
public_name = LOGIN
|
||||||
|
client_send = : SMARTHOST_USER : SMARTHOST_PASS
|
||||||
|
')
|
||||||
|
|
||||||
|
begin acl
|
||||||
|
acl_check_rcpt:
|
||||||
|
accept
|
||||||
|
hosts = RELAYNETS
|
||||||
|
deny
|
||||||
|
message = "Relaying denied"
|
||||||
|
|
||||||
|
ifelse(LOCALMAILNAME, `', `', `
|
||||||
|
begin rewrite
|
||||||
|
*@* ${1}@LOCALMAILNAME Ffrs
|
||||||
|
')
|
@ -1,40 +0,0 @@
|
|||||||
primary_hostname = %HOSTNAME%
|
|
||||||
qualify_domain = %LOCALMAILNAME%
|
|
||||||
|
|
||||||
acl_smtp_rcpt = acl_check_rcpt
|
|
||||||
|
|
||||||
begin routers
|
|
||||||
smarthost_route:
|
|
||||||
driver = manualroute
|
|
||||||
domains = *
|
|
||||||
transport = smarthost_smtp
|
|
||||||
route_list = * %SMARTHOST%
|
|
||||||
|
|
||||||
begin transports
|
|
||||||
smarthost_smtp:
|
|
||||||
driver = smtp
|
|
||||||
port = 25
|
|
||||||
multi_domain
|
|
||||||
hosts_require_auth = *
|
|
||||||
|
|
||||||
begin authenticators
|
|
||||||
plain:
|
|
||||||
driver = plaintext
|
|
||||||
public_name = PLAIN
|
|
||||||
client_send = ^%SMARTHOST_USER%^%SMARTHOST_PASS%
|
|
||||||
|
|
||||||
login:
|
|
||||||
driver = plaintext
|
|
||||||
public_name = LOGIN
|
|
||||||
client_send = : %SMARTHOST_USER% : %SMARTHOST_PASS%
|
|
||||||
|
|
||||||
begin acl
|
|
||||||
acl_check_rcpt:
|
|
||||||
accept
|
|
||||||
hosts = %RELAYNETS%
|
|
||||||
deny
|
|
||||||
message = "Relaying denied"
|
|
||||||
|
|
||||||
begin rewrite
|
|
||||||
*@* ${1}@${qualify_domain} Ffrs
|
|
||||||
|
|
15
start.sh
15
start.sh
@ -1,15 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
rm exim.conf
|
m4 exim.conf.m4 > exim.conf && exim -bd -q15m -v
|
||||||
|
|
||||||
cat exim.conf.tmpl \
|
|
||||||
| sed -e 's/%HOSTNAME%/'$HOSTNAME'/' \
|
|
||||||
-e 's#%RELAYNETS%#'$RELAYNETS'#' \
|
|
||||||
-e 's/%LOCALMAILNAME%/'$LOCALMAILNAME'/' \
|
|
||||||
-e 's/%SMARTHOST%/'$SMARTHOST'/' \
|
|
||||||
-e 's/%SMARTHOST_USER%/'$SMARTHOST_USER'/' \
|
|
||||||
-e 's/%SMARTHOST_PASS%/'$SMARTHOST_PASS'/' \
|
|
||||||
> exim.conf
|
|
||||||
|
|
||||||
exim -bd -q15m -v
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user