私はPHPMailerを使用するためにController内に関数を書きました。その後、私はこの機能が頻繁に必要で、結局私は図書館に書き込むことにしました。これを行うとコントローラ内ライブラリをロードするときしかし、それはこのようなエラーがあります:Codeigniterのライブラリ内にファイルをロードできません
メッセージ:私は問題がある考え出したすべての後に、未定義のメソッド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.com";
$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