不确定这是否属于Stack Overflow或其他地方,但我会先在这里尝试。
我有多个服务器,每个服务器都具有相同的设置,其中服务器上运行的几乎所有内容都位于docker容器中。我有两个目标我想实现。首先,主机设置为使用uid<的用户发送电子邮件。 1000到我的外部电子邮件地址。其次,在一台服务器上,我有一个docker-mailserver容器,用于处理随机的,很少使用的电子邮件(用于日志文件等)。
似乎我可以让主机运行postfix或者docker-mailserver运行(并绑定到端口25)。目前,我有docker容器,运行邮件服务器,全面运行,一切都可以发送和接收就好了。
但是,现在我无法在主机上启动postfix,以便我可以接收发送给root用户的电子邮件(像cron输出之类的东西),因为端口25正好 - 正在被实际的邮件服务器接收使用电子邮件。
问题: 1)如何告诉主机上的postfix不绑定到端口25?如果端口25仅用于接收邮件,为什么我的仅传出后缀配置需要使用端口25? 2)我很乐意不接收root用户的电子邮件,如果通常发送给root用户的任何内容都记录在别处(也许是syslog?)。是root的电子邮件是仅作为电子邮件维护还是在其他地方维护,否则在主机上需要postfix才能转发到真实帐户?
提前致谢。
答案 0 :(得分:1)
首先回答您的问题:
您应该能够通过编辑main.cf
配置文件并将smtp
侦听器更改为您选择的编号端口,在您指定的任何端口上进行postfix侦听。当然,如果它不是一个“已知”端口,我不确定将连接到它的是什么/谁,但也许你不关心这种情况,因为你只使用postfix作为中继?
这可能取决于主机的Linux发行版或设置,但如果没有设置系统/守护进程将其移动到其他位置,大多数系统都会在本地发送“邮件假脱机”中留下电子邮件。当这是在UNIX系统上处理多用户邮件的正常方式时,登录用户使用邮件阅读器客户端来读取本地“假脱机”中的电子邮件,当然如果你没有,你可以简单地vi
您的邮件文件,并在必要时阅读原始内容。这些邮件文件通常位于大多数系统的/var/spool/mail
。
离开你的问题,我猜你不一定需要在你的主机上运行postfix
,特别是当你的容器化邮件服务器处理主机的端口25 SMTP流量时。我认为本地电子邮件将保留在本地,不带后缀,并可通过本地方式提供;如果你愿意,你甚至可以找到一个更简单的外部转发解决方案(例如,一个可以解析邮件假脱机并只连接到SMTP中继并将其发送到外部地址的脚本)。