配置 exim 使用带身份验证的远程 smtp

配置 exim 使用带身份验证的远程 smtp

我有一台安装了 exim 的专用服务器。我在 hostgator 上还有一个常规共享托管帐户(“sharedhostingdomain.com”)。我想将 exim 配置为始终使用 hostgator 的 smtp 服务器(“mail.sharedhostingdomain.com”)来发送电子邮件。

问题是 hostgator 的 smtp 服务器显然需要身份验证,并且它位于不同的端口 (26)。由于我确实有合法帐户,所以我有访问凭据,但我不知道如何强制 exim 始终使用该 SMTP 服务器,而不是尝试直接连接到收件人的 smtp 服务器,以及在哪里指定这些访问凭据。

答案1

正如 Daniel 所说,您需要将 exim 配置为智能主机。这意味着定义一个像这样的路由器 (注意:主机名和端口号之间用双冒号分隔):

send_to_smarthost:
  debug_print = "R: smarthost for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  route_list = * smarthost.example.com::26
  host_find_failed = defer
  no_more

然后是一个可以促使 Exim 进行身份验证的传输:

remote_smtp_smarthost:
  debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
  driver = smtp
  hosts_require_auth = smarthost.example.com

对于很多发行版来说,你现在只需将host:username:password三元组放入其中即可/etc/exim/passwd.client

我认为,除了在路由器中指定端口外,您还可以使用port传输中的命令。理论上,两者都可以工作。

答案2

我已经有一段时间没有对 exim 配置感兴趣了,但我可以给你一些基本的提示。这也取决于你运行的是哪个版本的 exim,以及哪个发行版(例如,debian 有一个 meta-config 配置文件,它为你抽象了很多这方面的内容)。

基本上,您需要为 exim 配置一个智能主机,并将其设置为 hostgator 的 SMTP 服务器。(在 exim 讨论中,这曾经被称为“路由器”,我认为现在仍然如此)。

您的路由器配置的传输需要被告知使用端口 26,而不是端口 25。(您可以设置“端口”变量)

您还需要设置 exim 客户端身份验证(例如,检查这里关于“通过 Exim 客户端进行身份验证”

抱歉,我不能说得更具体,但希望这足以帮助您。

相关内容