feat: 增加SMTP测试环境

This commit is contained in:
ZacharyZcR 2024-12-22 04:40:07 +08:00
parent 66e52791f7
commit a5738304a1
3 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,51 @@
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
# 安装必要的软件
RUN apt-get update && apt-get install -y \
postfix \
sasl2-bin \
libsasl2-modules \
mailutils \
rsyslog \
&& rm -rf /var/lib/apt/lists/*
# 配置Postfix
RUN postconf -e 'smtpd_sasl_auth_enable = yes' \
&& postconf -e 'smtpd_sasl_security_options = noanonymous' \
&& postconf -e 'smtpd_sasl_local_domain =' \
&& postconf -e 'broken_sasl_auth_clients = yes' \
&& postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' \
&& postconf -e 'inet_interfaces = all'
# 配置SASL
RUN mkdir -p /etc/postfix/sasl/
RUN echo "pwcheck_method: auxprop" > /etc/postfix/sasl/smtpd.conf \
&& echo "auxprop_plugin: sasldb" >> /etc/postfix/sasl/smtpd.conf \
&& echo "mech_list: PLAIN LOGIN" >> /etc/postfix/sasl/smtpd.conf
# 创建SASL用户使用固定域名localhost
RUN echo "123456" | saslpasswd2 -p -c -u localhost test
RUN echo "admin123" | saslpasswd2 -p -c -u localhost admin
RUN echo "root123" | saslpasswd2 -p -c -u localhost root
# 设置权限
RUN chown postfix:postfix /etc/sasldb2
# 创建日志目录和文件
RUN mkdir -p /var/log && \
touch /var/log/mail.log && \
chmod 644 /var/log/mail.log
# 开放端口
EXPOSE 25
# 创建启动脚本
RUN echo '#!/bin/bash' > /start.sh \
&& echo 'service rsyslog start' >> /start.sh \
&& echo 'service postfix start' >> /start.sh \
&& echo 'tail -f /var/log/mail.log' >> /start.sh \
&& chmod +x /start.sh
CMD ["/start.sh"]

View File

@ -0,0 +1,2 @@
docker build -t smtp-weak .
docker run -d --name smtp-test -p 25:25 smtp-weak

3
TestDocker/SMTP/start.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
service postfix start
tail -f /var/log/mail.log