fscan/TestDocker/SMTP/Dockerfile
ZacharyZcR d91ed05d0e restore: 从main分支恢复TestDocker测试环境目录
- 恢复完整的Docker测试环境配置
- 支持MySQL, Redis, SSH, MongoDB等多种服务测试
- 包含57个测试环境配置文件
- 方便进行插件功能验证和性能测试
2025-08-07 23:43:34 +08:00

51 lines
1.5 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"]