【问题标题】:Server Setup: How to get emails working [duplicate]服务器设置:如何让电子邮件正常工作 [重复]
【发布时间】:2016-02-03 00:34:42
【问题描述】:

我有一个在 Ubuntu 14.04 上运行的 VPS。 Apache、MySQL 和 PHP 已安装并正常工作。

服务器用于托管具有联系表的网站。 联系表单从用户那里获取一些变量,例如他们的电子邮件、主题和正文(使用 POST)。 然后使用 PHP 的标准 mail() 函数处理此消息。

嗯,这在我的旧托管服务提供商上运行良好,但在这个“自制”服务器上就不行了。

我尝试配置 Sendmail 并将其路径添加到 php.ini,但没有成功。 我还尝试使用库 PHPMailer 希望使用外部 SMTP 服务器而无需配置本地服务器。 这很好用(PHPMailer 实际上很棒),只要发件人的身份与通过 SMTP 服务器验证的用户的身份相同......在这种发件人总是不同的形式的情况下,这永远不会发生。

一些看似简单的事情现在变得令人头疼。 问题是......我如何让表单工作,而无需设置任何本地邮件服务器,也没有限制只能从一个特定的电子邮件地址发送电子邮件?

提前非常感谢!

【问题讨论】:

  • 所以安装一个邮件服务器
  • 您不应该将表单提交者用作发件人或发件人地址。它只会导致 SPF 失败。使用您自己的地址作为发件人地址,并在回复中填写提交者的地址。
  • @Synchro 非常感谢您提供的信息!我认为表单提交者的电子邮件应该是“$mail->setFrom”。这实际上可能是我一直在寻找的解决方案。
  • @Synchro 它运行良好并解决了我的问题。再次感谢。

标签: php email ubuntu-14.04 phpmailer sendmail


【解决方案1】:

愚蠢的问题,但是您的 VPS 提供商是否为您提供了可以使用 PHPMailer(和其他)的专用 SMTP 服务器?例如,我在新西兰使用 SiteHost,他们允许他们的 VPS 用户使用他们的内部 SMTP 服务器。如果像 DigitalOcean(以及您使用的任何人)这样的人没有类似的东西,我会感到惊讶。

仅供参考,我过去使用共享 VPS 时遇到过完全相同的问题(Debian Jessie 虽然不是 Ubuntu 服务器),但我最终选择了 Postfix。从apt-get 安装时,要让它“运行”几乎不需要付出多少努力。只需了解管理您自己的电子邮件交换服务器所固有的风险——我猜你会这样做,因为你已经走上了 VPS 路线:-)

【讨论】:

  • 我不知道 Digital Ocean 有这样的功能。我将尝试使用 @Synchro 的评论解决我的问题。我也会尝试设置 Postfix。感谢您的回答。
猜你喜欢
  • 2017-02-14
  • 2018-04-27
  • 2016-01-13
  • 1970-01-01
  • 2020-09-17
  • 2017-11-26
  • 2013-09-11
  • 2013-10-11
  • 1970-01-01
相关资源
最近更新 更多