
digrouz/fetchmaildocker-fetchmail是一个基于Alpine Linux的Docker镜像,集成了fetchmail、procmail和msmtp三个邮件相关工具。该镜像旨在提供容器化的邮件处理能力,支持从邮件服务器获取邮件、对邮件进行过滤处理以及通过SMTP协议发送邮件。
需准备以下配置文件:
fetchmailrc:fetchmail配置文件,定义邮件获取规则procmailrc:procmail配置文件,定义邮件处理规则msmtprc:msmtp配置文件,定义邮件发送参数bashdocker run -d \ -v /本地路径/fetchmailrc:/root/.fetchmailrc \ -v /本地路径/procmailrc:/root/.procmailrc \ -v /本地路径/msmtprc:/root/.msmtprc \ --name fetchmail-container \ docker-fetchmail
yamlversion: '3' services: fetchmail: image: docker-fetchmail volumes: - ./config/fetchmailrc:/root/.fetchmailrc - ./config/procmailrc:/root/.procmailrc - ./config/msmtprc:/root/.msmtprc restart: unless-stopped
用于定义从邮件服务器获取邮件的规则,示例:
# 从POP3服务器获取邮件 poll pop.example.com protocol pop3 user "***" password "your_password" is root here fetchall no keep
主要参数说明:
poll:指定邮件服务器地址protocol:邮件协议(pop3/imap等)user/password:***账号和密码is [user] here:指定本地接收用户fetchall:获取所有邮件no keep:服务器端不保留已获取邮件用于定义邮件处理规则,示例:
# 将特定发件人的邮件保存到指定目录 :0 * ^From:.**** /var/mail/sender/ # 将主题包含"Important"的邮件标记为已读 :0 fh * ^Subject:.*Important | formail -I "Status: RO"
用于定义SMTP发送参数,示例:
account default host smtp.example.com port 587 from *** auth on user *** password your_password tls on tls_starttls on
主要参数说明:
host:SMTP服务器地址port:SMTP端口(通常587或465)from:发件人***地址auth:是否启用认证tls:是否启用TLS加密manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务