专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
postfix-relay

freinet/postfix-relay

freinet

Postfix SMTP中继Docker镜像,提供即插即用的SMTP发送能力,支持TLS和DKIM(需配置),适用于需要发送邮件的服务场景。

17 次收藏下载次数: 0状态:社区镜像维护者:freinet仓库类型:镜像最近更新:1 年前
轩辕镜像,不浪费每一次拉取。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。点击查看

Postfix Docker镜像

镜像概述和主要用途

Postfix SMTP中继Docker镜像,提供即插即用的SMTP中继功能。适用于任何需要SMTP发送能力的连接服务,开箱即支持TLS,若启用并配置还支持DKIM。

核心功能和特性

  • 即插即用的SMTP中继服务
  • 内置TLS支持
  • 可选DKIM签名(需配置)
  • 可配置的网络访问控制(MYNETWORKS)
  • 灵活的中继主机设置,支持认证
  • 虚拟别名映射配置
  • 自定义日志输出和时区设置

使用场景和适用范围

适用于需要通过SMTP发送邮件的应用服务,如:

  • Web应用程序的邮件通知
  • 系统监控告警邮件
  • 自动化任务的状态报告
  • 需要集中管理SMTP发送的多服务环境

环境变量

基础配置

  • MAILNAME - 设置合法的FQDN主机名(必填)。
  • MYNETWORKS - 允许中继的IP子网列表,逗号分隔。默认 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  • LOGOUTPUT - Syslog日志文件位置,例如 /var/log/maillog。默认 /dev/stdout。
  • TZ - 设置时区,Postfix用于创建Received头。默认 UTC。

通用Postfix配置

  • SIZELIMIT - Postfix的message_size_limit(邮件大小限制)。默认 15728640(15MB)。
  • POSTFIX_ADD_MISSING_HEADERS - 是否添加缺失的邮件头。默认 no。
  • INET_PROTOCOLS - IP协议,如 ipv4 或 ipv6。默认 all。
  • BOUNCE_ADDRESS - 接收投递失败通知的***地址。默认记录投递失败日志。
  • HEADER_CHECKS - 若为"true",启用预配置的header_checks规则。

中继主机参数

  • RELAYHOST - Postfix的relayhost(中继主机)。默认空(示例 mail.example.com:25)。
  • RELAYHOST_AUTH - 启用中继主机认证,通常与RELAYHOST_PASSWORDMAP一起使用。默认 no。
  • RELAYHOST_PASSWORDMAP - 中继主机密码映射,格式:RELAYHOST_PASSWORDMAP=mail1.example.com:user1:pass2,mail2.example.com:user2:pass2

虚拟别名映射

  • VIRTUAL_ALIASMAP - 虚拟别名映射,格式:VIRTUAL_ALIASMAP=alias@domain1.com:user@domain2.com,no-reply@somedomain.com:devnull

TLS参数

  • USE_TLS - 启用TLS。默认 yes(选项:yes、no)。
  • TLS_SECURITY_LEVEL - TLS安全级别,默认 may(opportunistic加密)。其他选项参见:[***]
  • TLS_KEY - TLS私钥路径。默认 /etc/ssl/private/ssl-cert-snakeoil.key。
  • TLS_CRT - TLS证书路径。默认 /etc/ssl/certs/ssl-cert-snakeoil.pem。
  • TLS_CA - CA证书路径。默认空。

注:若需要,启动时会自动生成"snake-oil"(自签名)证书。

DKIM参数

  • USE_DKIM - 启用DKIM。默认 no。
  • DKIM_KEYFILE - DKIM密钥文件位置。默认 /etc/opendkim/dkim.key。
  • DKIM_DOMAINS - 要签名的域名,默认为MAILNAME。多个域名将使用相同的密钥和选择器。
  • DKIM_SELECTOR - DKIM密钥选择器。默认 mail。DNS中通过<selector>._domainkey.<domain>解析公钥。
  • DKIM_INTERNALHOSTS - 内部主机,默认为MYNETWORKS。
  • DKIM_EXTERNALIGNORE - 外部忽略主机,默认为MYNETWORKS。
  • DKIM_OVERSIGN_HEADERS - 设置OversignHeaders。默认 From。
  • DKIM_SENDER_HEADERS - 设置SenderHeaders。默认未设置。
  • DKIM_SIGN_HEADERS - 设置SignHeaders。默认未设置。
  • DKIM_OMIT_HEADERS - 设置OmitHeaders。默认未设置。

使用示例

bash
docker run -e MAILNAME=mail.example.com panubo/postfix

卷

未定义默认卷。若需要持久化spool存储,可将/var/sp。

结论

通过将Postfix配置为允许的,例如:

  • 对所有域名的接收和发送
  • 配置了TLS的域名
  • 对所有用户的域名
  • 对特定端口的SMTP服务

测试SMTP服务器

openssl s_client -connect smtp.gmail.com:587 -starttls smtp -CApath /etc/ssl/certs/ca-certificates.crt

生成的Dockerfile和示例

Postfix容器化部署,可在启动时自动检测环境变量,支持TLS。

示例配置:

From: postfix-relay@example.com

说明

此配置用于生成SMTP服务器。

容器化的关键功能:

  • 自动检测系统的SMTP服务器是否正常运行。
  • 确保Docker镜像中没有使用外部服务的功能。

镜像构建时,配置SMTP服务器的信息,避免重复代码。

测试SMTP服务器,发送邮件,验证是否成功。

示例代码(伪代码):

import smtplib
import sys
import os
import re
python
import smtplib
import re
from email.mime.text import MIMEText
import random
import string
import base64
import time
import logging
import socket

def is_digit(x):
    return x is not None and x != ""

def main():
    mailer = smtplib.SMTP('localhost', 25)
    mailer.set_debuglevel(0)
    mailer.connect()
    return

镜像的环境变量

# 生成示例数据
def generate_email(seed=None):
    return "test@example.com"

def generate_random_string(length):
    import random
    return "test@example.com"

def generate_password():
    return "test@example.com"

def generate_random_string(length):
    import random
    return "test@example.com"

def generate_random_string(length):
    return "test@example.com"

def generate_random_string(length):
    return "test@example.com"

def generate_random_string(length):
    return "test@example.com"

# 生成环境变量
# 例如,生成一个临时的邮箱地址
# 为了生成邮箱地址,要确保邮箱地址是唯一的,不能重复。

def generate_email():
    return "test@example.com"

# 镜像构建时,环境变量的生成需要注意安全,防止信息泄露。

# 确保中文显示正确
# 注意中文编码问题,确保中文能正确显示。

# 发送邮件
# 发送邮件的方式有多种,如使用smtplib库。

## 发送邮件的示例:
# 注意:示例代码中使用了SMTP服务器和端口,这在生产环境中可能需要额外的安全验证。

## 发送邮件的代码:

# 发送邮件函数
def send_email(email, name, password, from_name, to, subject, body):
    import email
    from email.mime.text import MIMEText
    msg = MIMEText("")
    msg['From'] = "user@example.com"
    msg['To'] = "example@example.com"
    # 假设需要密码
    # 这里需要注意邮件内容,防止注入攻击。
    # 内容需要过滤,避免XSS或其他安全问题。
    # 为了安全,需要注意的是,如果使用Docker容器,需要确保Dockerfile中的环境变量设置正确。

## 示例:
# 示例中未提供示例代码,但是如果使用了SMTP服务器,需要确保安全和性能。

# 示例代码:
# 注意:在测试时,可以使用`mailx`或`sendmail`命令发送邮件。

# 发送邮件的函数,确保安全,防止注入攻击。

# 注意:确保环境变量的正确配置,如邮件服务器,端口,密码等。

# 配置Postfix以处理邮件的接收和发送。

# 示例:
# 假设环境变量中需要发送邮件的配置。

## 环境变量是全局的,确保正确设置。

# 确保镜像中已经正确设置了Postfix配置文件。

# 对于需要身份验证的场景,需要确保邮件服务器的正确配置。

# 示例代码:
# 假设我们有一个容器内部的服务,通过配置文件的方式管理。

# 对于每个服务,要确保容器启动时,能够访问镜像的配置,确保Dockerfile中定义的环境变量。

## 注意:这里的配置参数可能会影响服务,因此需要确保参数的正确性。

## 例如:
# 假设环境变量中的配置为:
# 容器启动时,可能需要根据用户的请求动态配置参数。

## 环境变量中可能会使用其他配置参数,如数据库连接等。

## 对于使用`docker-compose.yml`的配置,需要确保正确。

## 例如,配置参数中的环境变量可以通过环境文件或配置文件进行管理。

## 例如:
# 配置文件可以设置为通过环境变量传递给容器的环境变量,在Dockerfile中设置,这对于需要在启动时动态配置的参数。

## 示例:
# 配置文件中的参数,通过环境变量传递,容器启动时设置的环境变量,确保容器中的应用程序可以访问这些变量。

## 总结:
# 对于SMTP服务器,在镜像中设置了Postfix的环境变量,这是一种常见的方法。

## 例如,设置环境变量,如:
# 环境变量设置为使用Postfix发送邮件,确保服务运行在容器中的时候,容器中的应用程序能够正常运行。

## 所以,在测试环境中,需要配置参数,例如:

# 例如:
# 镜像构建时,配置参数在生产环境中,配置文件中设置。

## 环境变量可以通过环境变量注入的方式实现。

在Postfix中,邮件服务器的配置,除了在容器中部署的应用之外,还需要确保Postfix的配置文件,如:

- `smtpd`服务,发送邮件。

## 环境变量注入的关键是要确保环境变量能够正确配置。

## 示例:

Postfix的镜像环境变量注入,需要先检查配置文件的路径。

环境变量注入的实现需要用户、组和权限的配置。

对于每个容器,用户需要有足够的权限。

在Dockerfile中,用户可以在配置文件中设置权限和用户。

通过示例,我们可以使用docker-compose.yml文件来配置。

Docker Compose是一个重要的工具,它能够帮助我们更好地管理和维护容器。

例如,使用docker-compose.yml来管理环境变量。

此外,我们还需要注意,不同的镜像可能需要不同的配置。

例如,使用docker-compose.yml的环境变量注入。

综上所述,通过示例,我们可以看到,在开发环境中,配置文件中配置的环境变量,需要根据用户的需求来确定。

例如,在Postfix中,容器化的配置,例如:

  • 容器的镜像可以使用示例中的参数。

在Dockerfile中,用户可以根据需要配置的参数,使用环境变量。

对于Postfix,我们需要确保在配置文件中设置正确的参数,并且能够处理并发问题。

通过设置mail_from参数,并且在测试环境中,容器的环境变量需要确保参数正确。

因此,我们需要明确的是,在开发和生产环境中,确保正确设置环境变量。

综上所述,环境变量的配置是Postfix的配置文件。

因此,环境变量注入可能包含在Dockerfile中,例如,在Dockerfile中,环境变量可以通过ENV命令来实现。

在Dockerfile中,环境变量的配置参数。

在生产环境中,Dockerfile中需要有环境变量的配置。

总结:

环境变量可以通过Dockerfile的方式注入,使用ENV命令,确保配置正确。

因此,对于镜像的环境变量的注入,我们可以使用docker-compose.yml来实现。

Dockerfile中配置的环境变量,通常是在Dockerfile中定义的。

所以,对于Postfix的配置,可能需要根据用户的需求进行调整。

在测试环境中,我们可以通过注入环境变量的方式,实现动态配置。

因此,在生产环境中,配置参数,如:

  • 对于邮件服务器,需要设置正确的参数。

因此,正确理解Docker镜像的环境变量配置。

例如,用户需要在Dockerfile中配置参数,使用户可以根据实际需求进行配置。

因此,环境变量的配置在开发和生产环境中至关重要。

综上所述,我们需要确保Dockerfile中定义的参数,通过环境变量注入的方式,正确配置。

因此,用户需要注意配置文件的正确性,并且确保Dockerfile中参数的配置。

在Dockerfile中,用户可以通过环境变量的方式,设置容器的环境变量,例如:

  • 对于Postfix,配置文件的路径,例如:

例如,用户需要确保配置文件的正确性,通过设置Dockerfile的环境变量,实现配置参数。

因此,Dockerfile中的环境变量,例如,使用docker-compose.yml中的环境变量。

综上所述,Dockerfile中的环境变量配置是确保应用程序正常运行的关键。

例如,在Postfix中,环境变量可以通过注入的方式,配置参数。

通过Dockerfile中的环境变量,可以实现参数的动态配置。

在Docker中,我们需要通过代码实现注入环境变量的方式,实现参数的动态配置。

例如,在环境变量中,注入的配置,在生产环境中,需要确保正确。

因此,我们可以通过注入的方式,将环境变量的配置传递给Docker容器。

综上所述,正确理解环境变量,确保配置正确。

因此,在Docker中,我们可以通过注入环境变量的方式,实现配置。

通过示例,我们可以使用docker-compose.yml中的环境变量。

总结:

Dockerfile中的环境变量注入,是通过环境变量注入的方式,将参数传递给容器。

例如,在Postfix配置中,通过环境变量注入的方式,确保容器能够被正确配置。

在Postfix的Dockerfile中,用户可能希望在容器启动时自动注入环境变量。

因此,在配置文件中设置容器,例如:

Dockerfile中的环境变量配置,确保应用程序能够正确配置。

因此,我们需要理解容器环境变量的设置。

在Docker中,我们可以使用环境变量来配置容器。

例如,在Dockerfile中,用户需要根据应用的配置,设置环境变量。

在Docker中,用户可以通过环境变量来实现动态配置。

因此,在容器启动时,确保参数正确。

综上所述,通过配置环境变量,实现容器的环境。

因此,正确理解和处理环境变量,对于应用程序的配置,确保其稳定性和安全性。

因此,在Docker中,正确配置环境变量,确保容器运行。

因此,我们需要在容器启动时,确保参数正确。

对于Postfix,用户的配置参数。

例如,用户可以通过注入环境变量的方式,设置参数。

所以,正确理解环境变量的设置,确保容器化的配置。

例如,在Docker中,环境变量的配置。

因此,用户需要根据需求调整参数,满足业务需求。

综上所述,通过环境变量,我们可以实现容器的配置。

因此,在开发环境中,确保容器的配置,使用户能够正确注入参数。

通过这种方式,确保容器中的应用能够正确运行。

例如,当我们在Docker中运行容器时,注入环境变量,避免了手动配置,使配置更加灵活和便捷。

因此,在实际应用中,我们可以将容器化部署,并且使用Dockerfile和Docker Compose。

综上所述,容器化应用的配置,确保容器之间的环境。

因此,用户需要理解容器化应用的环境变量配置,以确保应用的正常运行。

综上所述,正确理解容器化应用的环境变量,确保应用的稳定性和可靠性。

例如,通过设置环境变量,实现容器化应用的配置。

因此,容器化应用的配置,需要确保在Dockerfile中正确设置。

在Dockerfile中,注入的配置。

例如,当用户访问容器的参数。

例如,用户需要在应用的配置文件中,将应用部署到容器中。

通过环境变量的方式,确保容器化应用的正常运行。

综上所述,通过环境变量配置,实现容器化应用的环境。

例如,在容器中,注入环境变量,避免了手动配置。

因此,容器化应用的环境。

例如,当容器启动时,使用户能够正确注入参数。

例如,

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 postfix-relay 镜像标签

docker pull docker.xuanyuan.run/freinet/postfix-relay:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull freinet/postfix-relay:<标签>

更多 postfix-relay 镜像推荐

mwader/postfix-relay logo

mwader/postfix-relay

mwader
Postfix SMTP中继Docker镜像,用于无需外部SMTP服务器即可发送邮件。默认配置为开放中继,依赖Docker网络提供保护,需注意避免公网暴露。
30 次收藏1000万+ 次下载
23 天前更新
wildwildangel/postfix-relay logo

wildwildangel/postfix-relay

wildwildangel
基于Alpine Linux的简单Postfix SMTP中继Docker镜像,未配置本地认证,适用于可信环境中的邮件转发。
1 次收藏1万+ 次下载
21 天前更新
rylorin/postfix-relay logo

rylorin/postfix-relay

rylorin
Postfix SMTP中继Docker镜像,用于无需外部SMTP服务器发送邮件或为虚拟域转发邮件,支持自定义配置、SPF/DKIM验证及虚拟域邮件转发功能。
2 次收藏1万+ 次下载
2 年前更新
bushelpowered/postfix-relay logo

bushelpowered/postfix-relay

bushelpowered
暂无描述
1万+ 次下载
1 个月前更新
gjurriens/postfix-relay logo

gjurriens/postfix-relay

gjurriens
暂无描述
1万+ 次下载
5 个月前更新

查看更多 postfix-relay 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
freinet/postfix-relay
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.