【发布时间】:2017-01-11 20:52:52
【问题描述】:
我在使用 PHPMailer 时遇到问题,该类的版本是 5.1,生成以下错误:Could not instantiate mail function 与实例问题相对应的错误。
检查可能的原因,我发现directive: disable_functions 包含 mail() 函数。
所以当我使用它时,我得到以下错误:
警告:出于安全原因,mail() 已被禁用
鉴于这一切,不知道产生的错误,无法实例化邮件功能,直接与php.ini中缺少此功能有关。
Obs: MX 服务器是为 G Suite 配置的,因此 SMTP 设置来自 google gmail。
【问题讨论】:
-
为什么 PHPMailer 使用
mailtho?它可以直接打开一个套接字(这是你应该做的) -
1 - 您需要包含您的代码,以便我们为您提供帮助。 2 -
mail功能根据 disabled_fucntions 被禁用,这就是您收到此警告的原因。 3 - 您应该将 PHPMailer 设置为使用 SMTP,这将绕过mail函数的使用 -
@cmorrissey,代码添加。
-
@Machavity PHPMailer 默认使用
mail()发送;它需要的配置比 SMTP 少,但需要你有一个本地邮件服务器,虽然它当然也支持 SMTP。 -
你的代码基于the gmail example provided with PHPMailer,你真的需要更新; 5.1 已经过时多年了,而且漏洞百出,所以get the latest version。