2016-12-02 9 views
0

Gmail SMTP経由でメールを送信する際に問題が発生しました。ついにPHPMailerを使用してどこかへ行き始めました。私は、関数の先頭にこのコードを持ってメールを送信しようとしていますコントローラでルーメンAPIのPHPMailer

require_once '/var/www/html/dragonSocAPI/vendor/phpmailer/PHPMailerAutoload.php'; 

    $mail = new PHPMailer; 

私は、ページ上でこのエラーを取得する:「クラス「のApp \のHttp \コントローラ\ PHPMailer 'not found " これはPHPMailerクラスを探していて、それを見つけることができないことを意味していますが、requireが動作するので、なぜクラスにアクセスできないのでしょうか?それはあなたの名前空間にありますので、オートローダは間違った場所で探しています - App\Http\Controllers\PHPMailer

すべてのヘルプは、そのエラーのクラス名で

+0

他のファイルはすべて追加しましたか?作曲家を使っているように見えるので、PHPMailerのオートローダーを使う必要はありません。 – Synchro

+0

はい私は作曲家を使用しています。 githubのreadmeに記載されているように、 "composer require phpmailer/phpmailer"を実行しました。だから私はrequire_once行が必要ないと言っているのですか?それはちょうどうまくいきますか? – mab3103

+0

はい、作者のオートローダーをロードする限り、通常の 'vendor/autoload.php'です。 – Synchro

答えて

2

ルックをいただければ幸いです。グローバル名前空間を参照するためにuse \PHPMailer;、または$mail = new \PHPMailer;などを追加することは、このトリックを行うべきです。

PHPMailer 6.0は、PHPMailerの名前空間を導入します。

+1

それは働いています。ご助力ありがとうございます。 – mab3103