簡體   English   中英

郵件客戶端無法連接到我的 Docker 郵件服務器

[英]Mail client wouldn't connect with my Docker mail server

我已經構建了教程的基於 Docker 的“完美服務器”克隆,但更新了更多,並且我成功地通過 Roundcube 網絡郵件應用程序在本地發送和接收電子郵件,而不使用外部中繼。 但是,我無法弄清楚為什么郵件客戶端和郵件服務器之間的連接會不斷失敗。

首先,我的 docker-compose.yml 文件全局包含:

version: '3.0'
services:
mailserver:
 container_name: mailserver
 image: mailserver:latest
 build: .
 restart: on-failure
 hostname: ${HOSTNAME}
 domainname: ${DOMAIN}
 ports:
  - 80:80
  - 25:25 
  - 143:143
  - 465:465 
  - 587:587 
  - 993:993 
  - 995:995
 environment:
  - HOSTNAME=mail
  - DOMAIN=localhost
  - MYSQL_HOST=localhost
  - MYSQL_PASSWORD=password
 networks: 
  - default

networks:
 default-network:
  driver: bridge

最近,我構建了另一個映像,其中包含一個獨立的郵件服務器,該郵件服務器存在於 Postfix、Dovecot、Roundcube、PhpMyAdmin 和 Apache 中,因為我想測試關於為什么郵件服務器和郵件客戶端之間的連接失敗的差異。

為此,我幾乎安裝了所有依賴項,並更改了一些 Postfix 值,例如:

postconf -e myhostname="${HOSTNAME}"
postconf -e mydomain="${DOMAIN}"
postconf -e mydestination="${HOSTNAME}, localhost.${DOMAIN}, localhost, ${DOMAIN}"
postconf -e mynetworks="127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128"

對於最后一張圖片,我剛剛按照教程將 Thunderbird 連接到郵件服務器。

注意:我使用(和測試)端口 143 和 25 的原因,但不會以最終形式使用它們。

但是發生了與“完美服務器”圖像相同的事情,即客戶端無法連接到郵件服務器。

同時,在構建該映像時,我按照完全相同的教程(完美服務器)在不使用容器(Debian 10)的情況下啟動了一個虛擬機(相同的域,ip 地址和網絡)。 最后,我成功連接了 Outlook/Thunderbird(再次通過相同的端口)。

所以我得出的結論是,我錯過了一些解決問題的問題,即 Docker 容器即使在端口打開並且設置了 DNS 記錄的情況下也會阻止/阻止這些連接的原因。

問題:我做錯了什么/為什么郵件客戶端在 Docker 容器內時無法連接到郵件服務器?

基於完美服務器的 Docker 鏡像供參考: https://github.com/jerob/docker-ispconfig

有點愚蠢,端口 143 在容器本身內被關閉(用 nmap -p port:domain 弄清楚)。 這解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM