Cakephp 3 Неизвестна имейл грешка

Исках да попитам за изпращането на имейли в cakephp3.

Използвам cakephp3 документи и конфигурирах всичко, както показва примерът.

Но когато се опитам да изпратя имейл, се появява тази грешка:

Не може да се изпрати имейл: неизвестен

//app.php
'EmailTransport' => [

    'default' => [
        'className' => 'Mail',
        // The following keys are used in SMTP transports
        'host' => 'smtp.gmail.om',
        'port' => 465,
        'timeout' => 30,
        'username' => '[email protected]',
        'password' => 'password',
        'client' => null,
        'tls' => null,
    ],
],

Контактен контролер:

public function contact() {

    if (isset($this->request->data) AND ($this->request->is('post'))) {
        $email = new Email('default');
        if ($email->from(['[email protected]' => 'My Site'])->to('[email protected]')->subject('Hello')->send('Message')) {
            //pr( 'ok');
        }
    }
}

Това общо съобщение за грешка ли е (което може да има много причини според мен)? няма стойност в контекста на отстраняване на грешки.


person user2610146    schedule 17.07.2015    source източник
comment
Моля, добавете кода за изпращане на имейли във вашия въпрос   -  person Rakesh Shewale    schedule 17.07.2015
comment
между другото, тук се разглежда същия проблем github.com/cakephp/cakephp/issues/3982 #issuecomment-49091233   -  person Rakesh Shewale    schedule 17.07.2015
comment
Моля, коригирайте хоста на smtp.gmail.com   -  person Rakesh Shewale    schedule 17.07.2015
comment
ако сте намерили решението, можете ли да предоставите?   -  person Amuk Saxena    schedule 12.01.2017


Отговори (4)


Искате да използвате SMTP сървър, но сте конфигурирали да използвате Mail транспорт!

Опцията className трябва да бъде зададена на Smtp. Хостът вероятно също трябва да е различен (с префикс ssl://) или трябва да активирате TLS, моля, уверете се, че сте прочели въпросите/отговорите, намерени с търсенето, свързано по-долу.

Вижте също

person ndm    schedule 17.07.2015

Името на хоста в конфигурацията по подразбиране е неправилно.

трябва да бъде

'host' => 'smtp.gmail.com',

вместо

'host' => 'smtp.gmail.om',
person Rakesh Shewale    schedule 17.07.2015

Едно нещо, което винаги се забравя, са имейл профилите

   `'Email' => [
    'default' => [
        'transport' => 'gmail', //this allows the email class to use the gmail settings
        'from' => '[email protected]',
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    ],
    ],`

И между другото можете да настроите множество профили за като тестване, разработка и т.н

person Ir Nahayo Ndindayino    schedule 11.09.2017

use Cake\Mailer\Email;

Email::configTransport('gmail', [
    'host' => 'smtp.gmail.com',
    'port' => 587,
    'username' => '[email protected]',
    'password' => 'secret',
    'className' => 'Smtp',
    'tls' => true
]);

Вие имате този код: Заменете [email protected] и Secret със своите идентификационни данни, разбира се, и след като използвате кода си, той ще работи.

person sahil ahlawat    schedule 29.10.2016