我在我的伺服器上使用 DirectAdmin。我已經配置了 EXIM。我可以發送電子郵件,但無法接收電子郵件。例如,當我嘗試透過發送電子郵件時[電子郵件受保護],我要么收到 550 verify required 錯誤返回,要么沒有收到任何錯誤。我該如何解決這個問題。我在 GCP 上使用 2525 連接埠。
我的配置如下:
exim.authenticators.post.conf
mailjet_login:
driver = plaintext
public_name = LOGIN
hide client_send = : apikey:client
exim.routers.pre.conf
send_via_mailjet:
driver = manualroute
domains = ! +local_domains
transport = mailjet_smtp
route_list = "* in-v3.mailjet.com::2525 byname"
condition = "${perl{check_limits}}"
host_find_failed = defer
no_more
exim.transports.pre.conf
mailjet_smtp:
driver = smtp
port = 2525
hosts = in-v3.mailjet.com
hosts_require_auth = $host_address
答案1
Exim 主要是一個 SMTP MTA。它沒有任何機制從遠端郵箱「取得」傳入郵件 - 預設情況下它偵聽 tcp 連接埠 25(也可能是其他連接埠),並期望其他 SMTP 伺服器建立入站連線以傳遞入站郵件。
您的配置適用於外向的僅限 SMTP 郵件(來自 exim -> 輸出)。
為了使用 exim(或實際上任何其他 SMTP MTA)接收傳入郵件,您需要在您的網域的 DNS 中設定 MX 記錄以指向您的郵件伺服器,然後使用其他服務進行配置,以便轉發郵件透過SMTP 傳送到該域。您的 exim 盒子需要有一個公共 IP 並且可以存取。
或者
如果其他服務不支援透過 SMTP 將郵件轉發給您,您將需要其他程式來從任何郵箱檢索郵件。像 fetchmail 這樣的東西可以透過 IMAP/POP 等檢索電子郵件,並使用 SMTP 將其發送到您的 exim 伺服器(如果您需要這樣做)。