У меня есть сайт, который использует фреймворк (документация здесь) . Платформа WordPress, основанная на laravel, но я не совсем понимаю, как работают электронные письма.
Прямой вопрос: как я могу использовать PHPMailer для отправки электронных писем?
В настоящее время и для целей тестирования я хочу, чтобы электронное письмо отправлялось сразу после загрузки страницы, поэтому мой метод контроллера выглядит следующим образом:
<?php
namespace Theme\Controllers;
use Themosis\Route\BaseController;
use Phpmailer\PHPMailer;
class OtherController extends BaseController {
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "My username";
$mail->Password = "mypassword";
$mail->setFrom('fromAddress@gmail.com', 'The name');
$mail->addReplyTo('fromAddress@gmail.com', 'The name');
$mail->addAddress('toAddress@gmail.com', 'Address');
$mail->Subject = 'Contact us form sent';
$mail->Body = 'This is a plain-text message body';
return "Email sent";
}
Я установил PHPMailer, используя composer, согласноих документация здесь .
Когда я нажимаю на ссылку, я получаю следующую ошибку:
Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Class
'Phpmailer\PHPMailer' not found in
/var/www/html/htdocs/content/themes/amarula/resources/controllers/OtherController.php on line
141
Хотя сообщение об ошибке, я предполагаю, что проблема в том, какЯ пытаюсь получить доступ к классу почтовой программы, который находится в папке vendor.
От корня моего приложения до моего контроллера структура выглядит следующим образом:
В конечном итоге класс PHPMailer находится в папке поставщика, как показано в приведенной ниже структуре:
Как я могу получить доступ к этому классу и отправить письмо через мой конТроллингист