Электронная почта Cakephp 3 с SMTP не работает

Я пытаюсь отправить электронное письмо из своего приложения CakePHP 3. Но каждый раз, когда он использует SMTP localhost, я получаю сообщение об ошибке.

Электронная почта Cakephp 3 с SMTP не работает

Итак, вот мой код.

public function sendEmail($email, $subject, $message){

        // Sample SMTP configuration.
        $this->loadModel('Generalsettings');
        $query = $this->Generalsettings->find('all')->where(['meta_key' => 'smtp_details'])->applyOptions(['default' => false]);
        $smtpdetail = $query->first();
        $detail = json_decode($smtpdetail->value);
        Email::configTransport('gmail', [
            'host' => $detail['host'], //value is 'ssl://smtp.gmail.com'
            'port' => $detail['port'], //value is 465
            'username' => $detail['username'],
            'password' => $detail['password'],
            'className' => 'Smtp'
        ]);
        $emailClass = new Email();
        $emailClass->from(['[email protected]' => "Sender"])
             ->to($email)
             ->subject($subject)
             ->send($message);
    }

Скажите, пожалуйста, если я что-то не так делаю. Заранее спасибо.

Возможный дубликат Конфигурация электронной почты CakePHP

Sumithran 22.07.2018 07:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
436
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не указали только что созданный транспорт с помощью метода configTransport(). Итак, он берет настройки default из config / app.php.

Вы можете настроить транспорт так:

$emailClass = new Email();
$emailClass->transport('gmail');

ПРИМЕЧАНИЕ. Не рекомендуется, начиная с версии 3.4.0: используйте setTransport () вместо transport ().

Для получения дополнительной информации перейдите по этой ссылке @ https://book.cakephp.org/3.0/en/core-libraries/email.html

Надеюсь это поможет!

Другие вопросы по теме