Email Previewer 是一个轻量级Docker镜像,提供邮件内容在用户端呈现效果的预览功能。其核心用途是模拟各类邮件客户端(如Gmail、Outlook、Apple Mail等)的渲染环境,帮助开发者、测试人员及产品人员直观查看HTML/CSS邮件在不同客户端的实际显示效果,确保邮件格式一致性和兼容性。
通过Docker Hub拉取最新版本镜像:
bashdocker pull emailpreviewer:latest
bashdocker run -d \ --name email-preview \ -p 8080:8080 \ emailpreviewer:latest
-p 8080:8080:将容器内8080端口映射到主机8080端口,用于访问Web服务。--name email-preview:指定容器名称为email-preview。通过-e参数设置环境变量,配置服务行为:
| 环境变量名 | 默认值 | 描述 |
|---|---|---|
PORT | 8080 | 服务监听端口(容器内)。 |
LOG_LEVEL | info | 日志级别,可选值:debug/info/warn/error。 |
CORS_ALLOW_ORIGIN | * | 跨域请求允许的源(Web界面或API调用时使用),如[***]。 |
MAX_EMAIL_SIZE | 5242880 | 最大邮件内容大小(字节),默认5MB。 |
如需持久化存储预览历史记录或加载本地邮件模板,可挂载主机目录到容器内/data路径:
bashdocker run -d \ --name email-preview \ -p 8080:8080 \ -v /local/mail-templates:/data/templates \ # 挂载本地邮件模板目录到容器 -e PORT=80 \ # 自定义服务端口为80 emailpreviewer:latest
如需集成到现有Docker网络(如与邮件发送服务联动),可通过--network指定网络:
bashdocker run -d \ --name email-preview \ --network my-network \ # 加入现有网络 -p 8080:8080 \ emailpreviewer:latest
http://<主机IP>:8080打开Web预览界面。通过HTTP POST请求提交邮件内容,获取JSON格式的预览结果:
bashcurl -X POST http://localhost:8080/api/preview \ -H "Content-Type: text/html" \ -d @"path/to/email.html" # 本地HTML邮件文件
响应示例:
json{ "previewId": "abc123", "clients": { "gmail": "http://localhost:8080/preview/abc123/gmail", // Gmail预览图URL "outlook": "http://localhost:8080/preview/abc123/outlook" // Outlook预览图URL }, "warnings": ["CSS property 'flex' is not supported in Outlook 2016"] // 渲染警告 }
bashdocker run -d \ --name email-preview \ -p 8080:8080 \ -v /opt/email-templates:/data/templates \ -e PORT=8080 \ -e LOG_LEVEL=debug \ -e CORS_ALLOW_ORIGIN="[***]" \ -e MAX_EMAIL_SIZE=*** \ # 10MB --restart unless-stopped \ emailpreviewer:latest
yamlversion: '3.8' services: email-preview: image: emailpreviewer:latest container_name: email-preview restart: unless-stopped ports: - "8080:8080" environment: - PORT=8080 - LOG_LEVEL=info - CORS_ALLOW_ORIGIN="[***]" - MAX_EMAIL_SIZE=5242880 volumes: - /opt/email-templates:/data/templates networks: - mail-dev-network networks: mail-dev-network: driver: bridge
| 参数类别 | 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| 网络配置 | PORT | 整数 | 8080 | 容器内服务监听端口,需与-p映射的容器端口一致。 |
| 日志配置 | LOG_LEVEL | 字符串 | info | 日志输出级别:debug(详细调试信息)、info(常规运行信息)、warn(警告)、error(错误)。 |
| 安全配置 | CORS_ALLOW_ORIGIN | 字符串 | * | 允许跨域请求的源,多个源用逗号分隔(如"[***]"),*表示允许所有源(生产环境不推荐)。 |
| 性能配置 | MAX_EMAIL_SIZE | 整数 | 5242880(5MB) | 单个邮件内容的最大字节数,超过此值的请求将被拒绝。 |
| 存储配置 | /data/templates | 卷挂载 | - | 本地邮件模板目录挂载点,容器可读取该目录下的HTML文件用于预览。 |

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429