【问题标题】:phpmailer, requre() and include_path combinedphpmailer、requre() 和 include_path 组合
【发布时间】:2024-04-21 16:20:01
【问题描述】:

经过 5 天漫长的尝试设置从 php 脚本发送电子邮件后,我终于从本地服务器完成了,我使用 apache。

楼主,我做不到。 我得到这个错误->

SMTP 错误:无法连接到 SMTP 主机

所以,我搜索了堆栈溢出等问题。我尝试使用 SMTPSecure = 'ssl',什么也没做。我检查了 extension=php_openssl.dll 是否被注释掉,但它甚至不存在于我的主机上。我的意思是,php.ini 中没有名为 php_openssl.dll 的文件。只有在 Curl 部分下安装了 Openssl 以及它是什么版本的信息。在 openssl 部分下说它已启用。我的电脑和主机上的配置相同,但主机上不会发送邮件。

提前感谢您的回答。

【问题讨论】:

  • 你有什么服务器(Linux 或 Windows)?如何在 php.ini 中设置与 smtp 相关的配置行?您如何发送邮件(使用 mail() 函数或使用某些扩展程序?openssl 与该问题有什么关系?
  • 我为造成的混乱道歉,但问题没有得到很好的解释。我在 Windows 上使用 XAMPP。我已成功从计算机上的本地服务器发送了一封电子邮件,但无法在主机上发送。我以为是 ssl,因为在我收到上述错误之前,我收到了一个错误,即我的 gmail 帐户的用户名或密码不正确。所以我输入了 SMTPSecure = 'ssl' 并且错误消失了,但是上面出现了错误。
  • 我不确定 PHP 引擎是否可以通过 GMail 作为 SMTP 发送邮件。

标签: ssl openssl phpmailer


【解决方案1】:

您的主机设置与本地服务器不同,因此您需要不同的配置。您的主机似乎已安装了电子邮件服务器。除非您在本地机器上设置了一个,否则您的 PHP 脚本在使用相同的设置时会失败。此外,您的主机可能对其电子邮件服务器有限制,这意味着您可能无法使用它从本地服务器发送电子邮件。 (你应该问他们)。这篇文章概述了替代方案:

How can I configure the mail function of PHP on Windows Vista?

如果您在主机上发送邮件时遇到问题,您应该向他们询问如何连接到电子邮件服务器的详细信息。他们很有可能会限制使用来阻止垃圾邮件的发送。

【讨论】:

  • 我没有提到我是 php 的初学者,这是我第一次制作发送邮件的脚本。