2017-10-17 83 views
0

我想在CakePHP 3應用程序中發送郵件。另一個應用程序中的相同配置工作正常,但不在此應用程序中。CakePHP 3電子郵件錯誤 - 未知電子郵件配置「默認」

在config/app文件我的電子郵件傳輸配置下面給出:

'EmailTransport' => [ 
    'default' => [ 
     'className' => 'SMTP', 
     // The following keys are used in SMTP transports 
     'host' => 'ssl://smtp.gmail.com', 
     'port' => 465, 
     'timeout' => 30, 
     'username' => '[email protected]', 
     'password' => 'xxxxxx', 
     'client' => null, 
     'tls' => null, 
     'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), 
    ], 
], 

在我的控制器:

$email = new Email('default'); 
$email->from(['[email protected]' => 'My Site']) 
     ->emailFormat('html') 
     ->to($emailAddRess) 
     ->subject('About') 
     ->send($msg); 

我收到此錯誤:

Unknown email configuration "default".

什麼我應該怎麼做?

+0

,你可以驗證該條目「EmailTransport」在應用程序配置存在:嘗試執行這個上面的那些行: '的var_dump(配置::閱讀(「EmailTransport」));' – wnasich

+0

是的,我沒有檢查使用var_dump(Configure :: read('EmailTransport'));它在當地服務器和現場服務器上都返回「null」。在這種情況下,它在本地主機上正確地發送郵件,但不在活動服務器的情況下。它返回錯誤信息,如「未找到傳輸類」SMTP「。」 – kohinoor

回答

0

嘗試className SMTP而不是默認值。

$email = new Email('SMTP'); 
     $email->from(['[email protected]' => 'My Site']) 
       ->emailFormat('html') 
       ->to($emailAddRess) 
       ->subject('About') 
       ->send($msg);