0
以下のコードで私の電子メールはdevモードで問題なく送信されます。これで、CakePHPエラーが発生するまで、ページをロードして読み込む電子メールを送信するアクションの1つをトリガーしようとすると、アプリケーションをプロダクションモードにしました。データはまだデータベースに格納されます。CakePHP 3 - プロダクションで電子メールを送信しない
'EmailTransport' => [
'default' => [
'className' => 'Mail',
// The following keys are used in SMTP transports
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'tls' => null,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
'mailjet' => [
'host' => 'in-v3.mailjet.com',
'port' => 587,
'timeout' => 60,
'username' => 'removed',
'password' => 'removed',
'className' => 'Smtp'
],
],
public function register()
{
$user = $this->Users->newEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->data);
$user->role = 'user';
$user->email_verified = '0';
$user->email_token = Security::hash($user->username + microtime(), 'sha1', true);
$user->email_token_expires = strtotime('now');
$user->email_token_expires = strtotime('+1 hour');
if ($result = $this->Users->save($user)) {
$this->Users->lastLogin($user['id']);
$authUser = $this->Users->get($result->id)->toArray();
$this->Auth->setUser($authUser);
$email = new Email();
$email->template('confirm')
->transport('mailjet')
->emailFormat('both')
->viewVars(['token' => $user->email_token])
->to($this->Auth->user('email'))
->from(['removed' => 'Welcome, ' . $user->username . '!'])
->subject('Please confirm your email!')
->send();
$this->Flash->success('You have successfully registered. Check your email to confirm email.');
return $this->redirect(['action' => 'profile']);
} else {
$this->Flash->error('The user could not be saved. Please, try again.');
}
}
$this->set(compact('user', 'userEmail', 'token'));
$this->set('_serialize', ['user']);
}
何が可能でしょうか?
エラー:私はこのエラーを得た
Connection timed out
Cake\Network\Exception\SocketException
CakePHPエラーが発生するまで_loads_何が表示されますか?エラーログには何が書いてありますか? – Sevvlor
内部エラーが発生しました エラー:内部エラーが発生しました。 – user3617311
接続がタイムアウトしました Cake \ Network \ Exception \ SocketException – user3617311