如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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调用时使用),如https://example.com。 |
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
Web界面预览
http://<主机IP>:8080打开Web预览界面。API调用预览
通过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="https://mail-dev.example.com" \ -e MAX_EMAIL_SIZE=10485760 \ # 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="https://mail-dev.example.com,https://qa.example.com" - 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 | 字符串 | * | 允许跨域请求的源,多个源用逗号分隔(如"https://a.com,https://b.com"),*表示允许所有源(生产环境不推荐)。 |
| 性能配置 | MAX_EMAIL_SIZE | 整数 | 5242880(5MB) | 单个邮件内容的最大字节数,超过此值的请求将被拒绝。 |
| 存储配置 | /data/templates | 卷挂载 | - | 本地邮件模板目录挂载点,容器可读取该目录下的HTML文件用于预览。 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务