0
我无法从我的cakephp 3网站发送邮件。我尝试了一个simiple testmail.php文件,我收到了电子邮件,但是当我尝试在app.php上设置相同的用户名和密码时,我正在连接超时。错误:[Cake Network Exception SocketException]连接超时
Error: [Cake\Network\Exception\SocketException] Connection timed out
这是1and1.com。在本地主机上设置时,我可以发送邮件。
什么是错的:
这里是error.log中:
2017-08-24 14:05:09 Error: [Cake\Network\Exception\SocketException] Connection timed out
Request URL: /contactus/
Referer URL: https://example.com/
Stack Trace:
#0 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Mailer/Transport/SmtpTransport.php(207): Cake\Network\Socket->connect()
#1 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Mailer/Transport/SmtpTransport.php(162): Cake\Mailer\Transport\SmtpTransport->_connect()
#2 /homepages/30/d665828522/htdocs/app/vendor/cakephp/debug_kit/src/Mailer/Transport/DebugKitTransport.php(79): Cake\Mailer\Transport\SmtpTransport->send(Object(Cake\Mailer\Email))
#3 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Mailer/Email.php(1344): DebugKit\Mailer\Transport\DebugKitTransport->send(Object(Cake\Mailer\Email))
#4 /homepages/30/d665828522/htdocs/app/src/Controller/UsersController.php(335): Cake\Mailer\Email->send()
#5 /homepages/30/d665828522/htdocs/app/src/Controller/UsersController.php(113): App\Controller\UsersController->_sendVerificationCode(Object(Cake\ORM\Entity))
#6 [internal function]: App\Controller\UsersController->ajaxRegister()
#7 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Controller/Controller.php(435): call_user_func_array(Array, Array)
#8 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(121): Cake\Controller\Controller->invokeAction()
#9 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(95): Cake\Http\ActionDispatcher->_invoke(Object(App\Controller\UsersController))
#10 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Http/BaseApplication.php(83): Cake\Http\ActionDispatcher->dispatch(Object(Cake\Network\Request), Object(Cake\Network\Response))
#11 /homepages/30/d665828522/htdocs/app/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/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(62): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#13 /homepages/30/d665828522/htdocs/app/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/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(88): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#15 /homepages/30/d665828522/htdocs/app/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/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(81): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#17 /homepages/30/d665828522/htdocs/app/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/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#19 /homepages/30/d665828522/htdocs/app/vendor/cakephp/cakephp/src/Http/Server.php(90): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#20 /homepages/30/d665828522/htdocs/app/webroot/index.php(37): Cake\Http\Server->run()
#21 {main}
我试过的设置本地主机正常工作时,我上传相同的服务器,它不工作。 – TheDevMan
也许在你的服务器上有防火墙。如果它是一个Linux,尝试ping服务器,如果它回答了尝试用telnet手动连接到你的smtp服务器:“** telnet [地址或你的服务器] [端口,25/465或587] **”。在窗口上,您可以使用** putty **来检查连接。 – Benfarhat
正如我之前所说,没有防火墙问题,因为testmail.php工作正常与SMTP 25/465/587都工作。 – TheDevMan