我写了一个函数内的控制器使用的PHPMailer并能正常工作。之后,我经常需要这个函数,最后我决定编写Library。但内控制器做到这一点,加载库的时候,它的主要错误是这样的:无法加载文件在笨
消息:调用未定义的方法PHPMailerOAuth :: isSMTP()
所有我已经想通了之后出现问题与路径!我试过你在想什么,但它不起作用! 我试过控制器作为库 我试过include()
,require_once()
,require
,有没有APPATH
。 我尽可能多地搜索。即使我读过Third Party
但我不明白。 有什么想法在Library中加载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 = "[email protected]";
$mail->oauthClientId = "XXX";
$mail->oauthClientSecret = "XXX";
$mail->oauthRefreshToken = "XXX";
$mail->setFrom('[email protected]', $setFromTitle);
$mail->addAddress($setToMail, $setToName);
$mail->Subject = $setSubject;
$mail->msgHTML($setMessage);
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
}
而且这就是我控制器的功能中加载这个库:
$this->load->library('PHPMailer');
$this->phpmailer->singleMail($setFromTitle,$setToMail,$setToName,$setSubject,$setMessage);
向我们显示您的代码。 – shaggy
这就是我的全部。 –
你是否尝试过使用课堂的要求? – Axcel