2016-10-09 38 views
-1

CakePHP 3で小さなWebページを作成しています。これは、1and1.esのSMTPサーバーを使用して電子メールを送信する非常に簡単な連絡フォームを備えています。CakePHP 3でメールを送信するときのエラー500

これは、設定/ app.phpでの私のトランスポート構成です:

'EmailTransport' => [ 
    'smtp' => [ 
     'className' => 'Smtp', 
     // The following keys are used in SMTP transports 
     'host' => 'smtp.1and1.es', 
     'port' => 587, 
     'timeout' => 30, 
     'username' => '[email protected]', 
     'password' => 'mypassword', 
     'client' => null, 
     'tls' => true, 
     'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), 
    ], 
], 

これは、ローカル開発サーバ(Ubuntuの14.04でXAMPP)で正常に動作します:私はすべてのメールを受け付けております。しかし、同じ構成を使用して運用サーバー(1and1共有サーバー)で500の内部サーバーエラーが発生します。両方のサーバで同じPHPバージョン。

私はStackoverflowで同様の質問を見つけましたが、何も私を助けませんでした。ところで、私はサーバーのApacheのエラーログにアクセスすることはできません。

ご協力いただければ幸いです。前もって感謝します。

EDIT:

私はちょうどCakePHPののerror.logファイルにはいくつかの関連情報があることを発見しました:、

2016-10-09 22:18:38 Error: [Cake\Network\Exception\SocketException] Connection timed out 
Request URL: /home/index 
Referer URL: http://monitomolon.es/ 
Stack Trace: 
#0 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Mailer/Transport/SmtpTransport.php(207): Cake\Network\Socket->connect() 
#1 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Mailer/Transport/SmtpTransport.php(162): Cake\Mailer\Transport\SmtpTransport->_connect() 
#2 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Mailer/Email.php(1344): Cake\Mailer\Transport\SmtpTransport->send(Object(Cake\Mailer\Email)) 
#3 /homepages/14/d393557898/htdocs/monitomolon/src/Form/ContactForm.php(56): Cake\Mailer\Email->send('Nombre: Diego A...') 
#4 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Form/Form.php(179): App\Form\ContactForm->_execute(Array) 
#5 /homepages/14/d393557898/htdocs/monitomolon/src/Controller/HomeController.php(13): Cake\Form\Form->execute(Array) 
#6 [internal function]: App\Controller\HomeController->index() 
#7 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Controller/Controller.php(435): call_user_func_array(Array, Array) 
#8 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(122): Cake\Controller\Controller->invokeAction() 
#9 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(96): Cake\Http\ActionDispatcher->_invoke(Object(App\Controller\HomeController)) 
#10 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/BaseApplication.php(83): Cake\Http\ActionDispatcher->dispatch(Object(Cake\Network\Request), Object(Cake\Network\Response)) 
#11 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\BaseApplication->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner)) 
#12 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(53): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response)) 
#13 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\RoutingMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner)) 
#14 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(88): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response)) 
#15 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\AssetMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner)) 
#16 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(81): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response)) 
#17 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner)) 
#18 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response)) 
#19 /homepages/14/d393557898/htdocs/monitomolon/vendor/cakephp/cakephp/src/Http/Server.php(92): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response)) 
#20 /homepages/14/d393557898/htdocs/monitomolon/webroot/index.php(37): Cake\Http\Server->run() 
#21 {main} 
+0

あなたが/エラーにアクセスしたり、アレイの一部を越えて何かに問題を絞り込む見つけることができない場合私たちはあなたを助けることができません。 –

+0

httpサーバのエラーログファイルは何を表していますか? _We_確かにあなたに言うことができません... – arkascha

+0

、私はおそらくあなたの1and1ホストがSMTP接続をブロックしていることを期待する接続タイムアウト。 –

答えて

0

まあの顧客サービスは、そのSMTPサーバが意図されて教えてくれました1and1.es電子メールクライアントのみが使用するため、スクリプト内での使用は共有サーバーでは禁止されています。そこで、ネイティブのPHP関数mail()とデフォルトのCakePHPトランスポートを使用してこの問題を解決しました。単にEmailTransportこのように定義:

'EmailTransport' => [ 
    'mail' => [ 
     'className' => 'Mail', 
    ], 
], 
+0

この問題を解決する方法の詳細を教えてください。私は1and1と同じ問題がありますか? – TheDevMan

+0

更新された回答、@ TheDevMan。 – Diego

+0

他の詳細はまったく必要ありません。 – TheDevMan

関連する問題