From c62e19ad2623df6a615c03eeff1ea8eddb7c10c5 Mon Sep 17 00:00:00 2001 From: ZacharyZcR <2903735704@qq.com> Date: Mon, 23 Dec 2024 01:50:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0IMAP=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TestDocker/IMAP/Dockerfile | 74 ++++++++++++++++++++++++++++++++++++++ TestDocker/IMAP/README.txt | 2 ++ 2 files changed, 76 insertions(+) create mode 100644 TestDocker/IMAP/Dockerfile create mode 100644 TestDocker/IMAP/README.txt diff --git a/TestDocker/IMAP/Dockerfile b/TestDocker/IMAP/Dockerfile new file mode 100644 index 0000000..f489f54 --- /dev/null +++ b/TestDocker/IMAP/Dockerfile @@ -0,0 +1,74 @@ +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive + +# 安装 Dovecot 和工具 +RUN apt-get update && \ + apt-get install -y dovecot-imapd dovecot-gssapi ssl-cert net-tools procps && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# 创建邮件存储目录和邮箱 +RUN mkdir -p /var/mail/vhosts/ && \ + chmod 777 /var/mail/vhosts/ + +# 创建用户和密码文件 +RUN echo "test:{PLAIN}123456" > /etc/dovecot/passwd && \ + echo "admin:{PLAIN}admin123" >> /etc/dovecot/passwd && \ + echo "root:{PLAIN}root123" >> /etc/dovecot/passwd && \ + chown dovecot:dovecot /etc/dovecot/passwd && \ + chmod 600 /etc/dovecot/passwd + +# 配置Dovecot +RUN echo ' \ +protocols = imap \n\ +listen = * \n\ +ssl = yes \n\ +ssl_cert = /etc/dovecot/dovecot.conf + +# 创建vmail用户并设置正确的权限 +RUN groupadd -g 5000 vmail && \ + useradd -g vmail -u 5000 vmail && \ + chown -R vmail:vmail /var/mail && \ + chown -R dovecot:dovecot /etc/dovecot && \ + chmod -R 644 /etc/dovecot/dovecot.conf + +EXPOSE 143 993 + +CMD ["dovecot", "-F"] \ No newline at end of file diff --git a/TestDocker/IMAP/README.txt b/TestDocker/IMAP/README.txt new file mode 100644 index 0000000..0d4d370 --- /dev/null +++ b/TestDocker/IMAP/README.txt @@ -0,0 +1,2 @@ +docker build -t weak-imap . +docker run -d --name imap-test -p 143:143 -p 993:993 weak-imap \ No newline at end of file