Как отправить электронное письмо пользователю при выполнении входа в cakephp - PullRequest
0 голосов
/ 18 января 2019

У меня нет никаких знаний о почте CakePHP, поэтому кратко объясните решение. Я имею в виду, что делать и как делать с самого начала.

С официальной стороны CakePHP я только что использовал это, используйте Cake \ Mailer\Эл. адрес;"а затем функция почты, но появляется сообщение об ошибке, как показано ниже

Не удалось отправить электронное письмо: mail (): не удалось подключиться к почтовому серверу по адресу "server.com" порт 25, проверьте ваш "Настройка SMTP "и" smtp_port "в php.ini или использование ini_set ()

Функция входа в систему контроллера моих пользователей

public function login() {
        $this->viewBuilder()->setLayout('');

        if ($this->request->is('post')) {
            $data = $this->request->getData();

            $query = $this->Users->find()->where(['email' => $data['email'], 'password' => md5($data['password'])]);
            if ($query->count()) {
                $user = $query->first()->toArray();
                $this->Auth->setUser($user);  
//FOR MAIL START                  
                ini_set('SMTP', "server.com");
                ini_set('smtp_port', "25");
                ini_set('sendmail_from', "restrange5@gmail.com");

                $email = new Email('default');
                $email->setFrom(['restrange5@gmail.com' => 'My Site'])
                        ->setTo('ramakantasahoo835@gmail.com')
                        ->setSubject('About')
                        ->send('My message');
        //FOR MAIL END

                $this->Flash->success(_('Login Successfull'));
                $this->redirect(['action' => 'dashboard']);
            } else {
                $this->Flash->error(__('Username/Password not found!!'));
                return $this->redirect($this->referer());
            }
        }
    }

Насколько я знаю, поскольку я только что изменился втолько пользовательский контроллер.Что еще у меня есть, пожалуйста, предложите.

1 Ответ

0 голосов
/ 21 января 2019
**Your cofiguration in app.php file is something like this **'
EmailTransport' => [
    'default' => [
        'className' => 'Smtp',
        // The following keys are used in SMTP transports
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'timeout' => 30,
        'username' => 'email here',
        'password' => 'password here',
        'client' => null,
        'tls' => null,
        'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
    ],
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...