
djjudas21/smtp-relay该Docker镜像提供一个轻量级SMTP中继服务,专门设计用于Kubernetes集群环境,旨在解决集群内部应用程序无法直接发送邮件的问题。通过作为中间转发层,镜像能够接收来自集群内应用的邮件请求,并将其安全、可靠地转发至外部SMTP服务器,实现Kubernetes环境下的邮件通信能力。
通过以下命令可快速启动SMTP中继服务:
bashdocker run -d \ --name smtp-relay \ -p 25:25 \ -e SMTP_HOST=smtp.example.com \ -e SMTP_PORT=587 \ -e SMTP_USER=your_username \ -e SMTP_PASSWORD=your_password \ -e FROM_ADDRESS=*** \ smtp-relay-k8s:latest
yamlversion: '3' services: smtp-relay: image: smtp-relay-k8s:latest container_name: smtp-relay ports: - "25:25" environment: - SMTP_HOST=smtp.example.com # 外部SMTP服务器地址 - SMTP_PORT=587 # 外部SMTP服务器端口 - SMTP_USER=*** # SMTP服务器认证用户名 - SMTP_PASSWORD=secret # SMTP服务器认证密码 - FROM_ADDRESS=*** # 默认发件人地址 - USE_TLS=true # 是否启用TLS加密 - MAX_RETRIES=3 # 邮件发送失败最大重试次数 - RETRY_DELAY=60 # 重试间隔(秒) restart: unless-stopped
yamlapiVersion: apps/v1 kind: Deployment metadata: name: smtp-relay spec: replicas: 1 selector: matchLabels: app: smtp-relay template: metadata: labels: app: smtp-relay spec: containers: - name: smtp-relay image: smtp-relay-k8s:latest ports: - containerPort: 25 env: - name: SMTP_HOST valueFrom: secretKeyRef: name: smtp-credentials key: host - name: SMTP_PORT value: "587" - name: SMTP_USER valueFrom: secretKeyRef: name: smtp-credentials key: username - name: SMTP_PASSWORD valueFrom: secretKeyRef: name: smtp-credentials key: password - name: FROM_ADDRESS value: "***" - name: USE_TLS value: "true"
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
SMTP_HOST | 外部目标SMTP服务器地址 | 无 | 是 |
SMTP_PORT | 外部目标SMTP服务器端口 | 587 | 否 |
SMTP_USER | SMTP服务器认证用户名 | 无 | 否(如服务器无需认证) |
SMTP_PASSWORD | SMTP服务器认证密码 | 无 | 否(如服务器无需认证) |
FROM_ADDRESS | 默认发件人***地址 | noreply@localhost | 否 |
USE_TLS | 是否启用TLS加密传输(true/false) | true | 否 |
MAX_RETRIES | 邮件发送失败最大重试次数 | 3 | 否 |
RETRY_DELAY | 重试间隔(秒) | 60 | 否 |
LISTEN_PORT | 中继服务监听端口 | 25 | 否 |
ALLOWED_SENDER_DOMAINS | 允许的发件人域名(逗号分隔) | *(全部允许) | 否 |
MAX_RETRIES和RETRY_DELAY参数,避免邮件队列积压manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务