2016-10-09 8 views
-1

Ich entwickle eine kleine Webseite mit CakePHP 3. Es verfügt über ein sehr einfaches Kontaktformular, das eine E-Mail mit SMTP-Server von 1and1.es sendet.Fehler 500 beim Senden von E-Mail mit CakePHP 3

Dies ist mein Transport Konfiguration an config/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), 
    ], 
], 

Es funktioniert gut bei der lokalen Entwicklung Sever (Xampp auf Ubuntu 14.04): Ich bin alle E-Mails zu empfangen. Aber es wirft einen 500 Internal Server Error auf dem Produktionsserver (1and1 shared server), der dieselbe obige Konfiguration verwendet. Gleiche PHP-Version auf beiden Servern.

Ich habe ähnliche Fragen hier bei Stackoverflow gefunden, aber nichts hat mir geholfen. Übrigens kann ich nicht auf Apache-Fehlerprotokolle im Server zugreifen.

Jede Hilfe wäre willkommen. Danke im Voraus.

EDIT:

ich gerade gefunden habe, dass CakePHP Datei error.log einige relevante Informationen hat:

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

Wir Ihnen nicht helfen können, wenn Sie nicht den Fehler oder verengen das Problem zu etwas jenseits Teil eines Arrays finden/zugreifen. –

+0

Was sagt die http-Server-Fehlerprotokolldatei? _We_ kann Ihnen sicherlich nicht sagen ... – arkascha

+0

Also, die Zeitüberschreitung der Verbindung, die ich erwarten würde bedeutet wahrscheinlich, dass Ihr 1and1-Host SMTP-Verbindungen blockiert. –

Antwort

0

Gut informierte 1and1.es Kundendienst mir, dass SMTP-Server für soll E-Mail-Clients verwenden nur und daher ist die Verwendung in einem Skript in meinem freigegebenen Server verboten. Also habe ich dieses Problem gelöst, indem ich die native PHP-Funktion mail() und den standardmäßigen CakePHP-Transport verwendet habe. Einfach EmailTransport diese Weise definiert:

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

Können Sie einige Details zur Lösung dieses Problems geben? Ich habe das gleiche Problem mit 1and1? – TheDevMan

+0

Aktualisierte Antwort, @TheDevMan. – Diego

+0

Sie brauchen keine weiteren Details. – TheDevMan

Verwandte Themen