Cakephp 2.x электронная почта не работает, почему эта ошибка приходит - PullRequest
0 голосов
/ 23 марта 2019

Я сталкивался с этой проблемой много дней.Пожалуйста помоги.Я следовал за документацией CakePHP.но не удалось решить проблему.

Could not send email: unknown
Error: An Internal Error Has Occurred.    

Ниже приведена конфигурация emai.php

<?php
class EmailConfig {

    public $default = array(
        'transport' => 'Mail',
        'from' => 'developer.support@sevenrocks.in',
        'charset' => 'utf-8',
        'headerCharset' => 'utf-8',
    );

    public $smtp = array(
        'transport' => 'Smtp',
        'from' => array('site@localhost' => 'SevenRocks'),
        'host' => 'ssl://smtp.sevenrocks.in',
        'port' => 465,
        'timeout' => 30,
        'username' => 'developer.support@sevenrocks.in',
        'password' => 'developerofsevenrocks',
        'client' => null,
        'log' => true,
        'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    );

}

Ниже приведен код в контроллере

$email = new CakeEmail();

$email->emailFormat('html');
$email->from(array($from_email => SITE_NAME));
$email->to($to);
$email->subject($subject);

if ($files)
{
    $email->attachments($files);
}

if ( !$email->send($content) )
{
    return false;
}

1 Ответ

1 голос
/ 23 марта 2019

Первое: для отладки приложений CakePHP 2x найдите debug в app/Config/core.php и измените его на Configure::write('debug', 2);, чтобы увидеть полное сообщение об ошибке.

Второе: некоторые поставщики могут помешатьВы отправляете почту напрямую через PHP ( по умолчанию mail config).Лучшее решение может использовать конфигурацию smtp , предоставленную вами в email.php.Чтобы использовать конфигурацию SMTP, измените код контроллера на:

$email = new CakeEmail('smtp');

$email->emailFormat('html');
$email->to($to);
$email->subject($subject);

Для получения дополнительной информации см. https://book.cakephp.org/2.0/en/core-utility-libraries/email.html#configuration

...