VPS - 开始发送电子邮件的最简单方法

VPS - 开始发送电子邮件的最简单方法

我在 VPS 上安装了(干净的)Debian 6,并在其上运行基于 Django 的应用程序。一切正常,只是我需要设置 SMTP 以使我的应用程序(即发件人是本地的)能够向其用户发送电子邮件(因此,收件人在互联网上的其他地方)。

最简单的方法是什么?Debian 通常附带exim4,但我无法设置它来执行这项基本任务。是否有任何教程或一组我需要检查的基本步骤?

我现在不需要任何本地电子邮件递送。

当我尝试使用默认配置发送电子邮件时,我得到的结果如下/var/log/exim/mainlog(将两个域替换为 foo.com 和 bar.com):

2011-08-27 18:05:27 1QxLNv-0008EL-60 <= [email protected] H=localhost (foo.com) [127.0.0.1] P=esmtp S=2438
2011-08-27 18:05:27 1QxLNv-0008EL-60 remote host address is the local host: bar.com
2011-08-27 18:05:27 1QxLNv-0008EL-60 == [email protected] R=smarthost defer (-1): remote host address is the local host
2011-08-27 18:05:27 1QxLNv-0008EN-7y <= <> R=1QxLNv-0008EL-60 U=Debian-exim P=local S=567
2011-08-27 18:05:27 1QxLNv-0008EL-60 Frozen
2011-08-27 18:05:27 1QxLNv-0008EN-7y remote host address is the local host: foo.com
2011-08-27 18:05:27 1QxLNv-0008EN-7y == [email protected] <[email protected]> R=hub_user_smarthost defer (-1): remote host address is the local host
2011-08-27 18:05:27 1QxLNv-0008EN-7y Frozen

答案1

您的 exim4 配置错误。

您需要找出从 VPS 提供商发送电子邮件的最佳方式。 可以通过他们的 SMTP 服务器,这意味着您需要将其配置为智能主机或者直接由你的 VPS 交付,这意味着你需要将其配置为完整互联网地点。

无论哪种方式,都可以通过以下命令重新配置你的 exim4:

# sudo dpkg-reconfigure exim4-config

在那里您可以选择:

internet site; mail is sent and received directly using SMTP
mail sent by smarthost; received via SMTP or fetchmail
mail sent by smarthost; no local mail
local delivery only; not on a network
no configuration at this time                                                                                             

相应地重新配置它。

答案2

“远程主机地址是本地主机”意味着您完成了以下两件事之一:

  • 告诉 Exim 它的智能主机实际上就是它自己(这让它很恼火);或者
  • DNS 表示目标域的 MX/A 记录实际上是同一台机器,并且您尚未配置 MTA 来接收该域的邮件。

鉴于 Exim 对智能主机的热切关注,我会说你拥有前者。

如果你使用以下方式配置你的 Exim 安装正确的smarthost(通常是您的 ISP 或 MSP 的主机)肯定会……嗯,不一定有效,但至少会给您一个不同的错误。

相关内容