【发布时间】:2017-05-09 13:12:35
【问题描述】:
我在 Controller 中编写了一个函数来使用 PHPMailer,它运行良好。之后我经常需要这个函数,最终我决定编写库。但是当这样做并在控制器中加载库时,它会出现这样的错误:
消息:调用未定义的方法 PHPMailerOAuth::isSMTP()
毕竟我发现路径有问题!我已经尝试过你的想法,但它不起作用!
我已经尝试将 Controller 作为库
我试过include(),require_once(),require,有或没有APPATH。
我已经尽可能多地搜索了。即使我读过Third Party,但我不明白。
有没有办法在库中加载 PHPMailer 文件?
提前谢谢你。
这是一个名为 PHPMailer.php 的库
class PHPMailer {
public function singleMail($setFromTitle,$setToMail,$setToName,$setSubject,$setMessage)
{
date_default_timezone_set('Etc/UTC');
require 'vendor/phpmailer/phpmailer/PHPMailerAutoload.php';
require 'vendor/autoload.php';
$mail = new PHPMailerOAuth;
$mail->CharSet = 'UTF-8';
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->AuthType = 'XOAUTH2';
$mail->oauthUserEmail = "XXX@gmail.com";
$mail->oauthClientId = "XXX";
$mail->oauthClientSecret = "XXX";
$mail->oauthRefreshToken = "XXX";
$mail->setFrom('XXXy@zounkan.com', $setFromTitle);
$mail->addAddress($setToMail, $setToName);
$mail->Subject = $setSubject;
$mail->msgHTML($setMessage);
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
}
这就是我在 Controller 的函数中加载这个库的方式:
$this->load->library('PHPMailer');
$this->phpmailer->singleMail($setFromTitle,$setToMail,$setToName,$setSubject,$setMessage);
【问题讨论】:
-
向我们展示您的代码。
-
这就是我所拥有的一切。
-
您是否尝试过在课堂外使用 require ?
-
我知道什么是 Phpmailer,但你没有展示你的整个代码。我在任何地方都没有看到
PHPMailerOAuth课程。 -
问题不在于路径,问题是类
PHPMailerOAuth没有方法isSMTP。只是PHPMailer类有这个方法。
标签: php codeigniter phpmailer