私のモデルでは、ユーザーが作成されたらメールを送信しています:
モデル/User.php:
<?php
App::uses('AppModel', 'Model');
App::uses('CakeEmail', 'Network/Email');
class User extends AppModel {
...
private function sendWelcomeMail($name, $email, $password) {
$Email = new CakeEmail('smtp');
$Email->viewVars(array('name' => $name, 'password' => $password));
$Email->template(('welcome'));
$Email->emailFormat('html');
$Email->from(array('info@staycomputer.de' => 'Stay Computer'));
$Email->to($email);
$Email->subject('Stay Serviceordersystem: Willkommen / Welcome');
$Email->send();
}
}
構成/email.php:
public $smtp = array(
'transport' => 'Smtp',
'from' => array('info@***.de' => 'Stay Computer'),
'host' => '***',
'port' => 25,
'timeout' => 30,
'username' => '***',
'password' => '***',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
私のテストシステムでは問題なく動作していますが、本番システム (1&1 ウェブホスティング) ではうまく動作していません:
エラー: 内部エラーが発生しました。
error.log によると:
Error: [SocketException] Connection timed out Request URL ...
と
15:52:36 Error: Fatal Error (256): [CakeException] Unknown status code #0 /homepage/30/d20974062/htdocs/StaywebDB/serviceordersystem/lib/Cake/Error/ExceptionRenderer.php(212) ...
違いは 1 つだけです。本番システムでは、組み込みの書き換え機能を使用します。