首页 > 解决方案 > Laravel 应用程序不使用相同的代码发送电子邮件

问题描述

我有一个 Laravel 应用程序,我通过 Laravel Forge 在 Digital Ocean 中提供服务,我正在使用来自 HostGator 的旧共享服务器的电子邮件服务器,我的配置如下:

MAIL_DRIVER=smtp
MAIL_HOST=cloud232.hostgator.com
MAIL_FROM_ADDRESS=noreply@*********
MAIL_FROM_NAME=noreply
MAIL_USERNAME=noreply@************
MAIL_PASSWORD=********************
MAIL_ENCRYPTION=tls
MAIL_PORT=587

这工作正常,我可以发送电子邮件。

我有一种方法可以使用一个传递的参数过滤数据库,然后将电子邮件发送给过滤后的客户。

我使用 forge 上的 cron 作业从 URL 调用此方法(不是 Laravel 调度程序,而是 cron 作业表中的条目)。

正如我过去几个月一直在使用它一样,现在我添加了另一个调用相同函数但以不同方式过滤数据库的方法(并且集合正确返回),但是新方法无法发送任何电子邮件,因为我得到一个像这样的连接被拒绝错误:

Connection could not be established with host cloud232.hostgator.com [Connection refused #111]

这是堆栈跟踪:

#0 /home/forge/prestamos.ikiwi.net.ar/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(58): Swift_Transport_StreamBuffer->establishSocketConnection()
#1 /home/forge/prestamos.ikiwi.net.ar/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(143): Swift_Transport_StreamBuffer->initialize(Array)
#2 /home/forge/prestamos.ikiwi.net.ar/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php(65): Swift_Transport_AbstractSmtpTransport->start()
#3 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(484): Swift_Mailer->send(Object(Swift_Message), Array)
#4 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(259): Illuminate\Mail\Mailer->sendSwiftMessage(Object(Swift_Message))
#5 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php(159): Illuminate\Mail\Mailer->send(Object(Illuminate\Support\HtmlString), Array, Object(Closure))
#6 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php(19): Illuminate\Mail\Mailable->Illuminate\Mail\{closure}()
#7 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php(160): Illuminate\Mail\Mailable->withLocale(NULL, Object(Closure))
#8 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(275): Illuminate\Mail\Mailable->send(Object(Illuminate\Mail\Mailer))
#9 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(229): Illuminate\Mail\Mailer->sendMailable(Object(App\Mail\CompleteRegistration))
#10 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Mail/PendingMail.php(127): Illuminate\Mail\Mailer->send(Object(App\Mail\CompleteRegistration))
#11 /home/forge/prestamos.ikiwi.net.ar/app/Http/Controllers/CustomerController.php(100): Illuminate\Mail\PendingMail->send(Object(App\Mail\CompleteRegistration))
#12 /home/forge/prestamos.ikiwi.net.ar/app/Http/Controllers/CustomerController.php(90): App\Http\Controllers\CustomerController::sendMail(2, 3, Object(Illuminate\Database\Eloquent\Collection))
#13 /home/forge/prestamos.ikiwi.net.ar/app/Http/Controllers/CustomerController.php(26): App\Http\Controllers\CustomerController::sendReminder(3, 599)
#14 [internal function]: App\Http\Controllers\CustomerController::thirdReminder()
#15 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#16 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('thirdReminder', Array)
#17 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\CustomerController), 'thirdReminder')
#18 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()
#19 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\Routing\Route->run()
#20 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#21 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#22 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#24 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Routing\Middleware\ThrottleRequests->handle(Object(Illuminate\Http\Request), Object(Closure), 60, '1')
#26 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#27 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#28 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#29 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#30 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#31 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#32 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#33 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#34 /home/forge/prestamos.ikiwi.net.ar/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#38 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#41 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#43 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#44 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#46 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#47 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#49 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#50 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#51 /home/forge/prestamos.ikiwi.net.ar/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#52 /home/forge/prestamos.ikiwi.net.ar/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#53 {main}

如果它是完全相同的代码怎么会发生这种情况?

foreach ($customers as $customer) {
    try {
        Mail::to($customer->email)->send(new CompleteRegistration($step, $reminderCount, $customer));               
    } catch (\Exception $e) {
        \Log::error($e->getMessage());
    }
}

提前致谢。

标签: phplaravelemail

解决方案


php artisan config:cache在 .env 中进行更改后运行

我想这可能会对你有所帮助。


推荐阅读