图片未显示在队列中的邮件中 - laravel
image not displaying in mail in queue - laravel
在我的邮件模板中,我使用了如下图片路径:
<img src="{{ URL::to('/images/logo.png') }}" alt="logo" download="false" style="width:50%">
它正在处理普通邮件(没有队列),但不适用于队列中的邮件。
通过检查邮件中的元素,我发现正常邮件图像路径如下:
https://app.site_domain.com/images/logo.png //as expected
但是邮件队列是:
http://localhost/images/logo.png
尝试像这样使用 url
助手:{{ url('/images/logo.png') }}
您必须为您的应用程序设置一个 URL 以便控制台命令知道什么 URL 用于您的应用程序生成 URL 因为没有网络服务器传递请求信息。
您可以为此在 .env
文件中设置 APP_URL
。
APP_URL=https://app.site_domain.com
默认设置为 http://localhost
,这就是出现的原因。
如果您的配置被缓存,您将需要清除它或再次缓存它:
php artisan config:cache
您最有可能需要停止队列工作人员,(使队列工作人员在处理任何当前作业后死亡的命令):
php artisan queue:restart
然后你可以重新启动它们,或者希望你有一些东西监视这些进程并在它们死后重新启动它们。
假设您已将 .env 从本地主机更新为 app.site_domain.com,而队列工作程序为 运行,您可能需要重新启动主管/工作程序队列。清除和重新缓存配置不会更新 supervisor 中的设置(当然,如果您使用 supervisor 来管理队列)。
您无法从 local.You 获取图像,应该将此图像上传到服务器。然后提供该服务器图像 link。现在您可以通过电子邮件获取此图像。
您可以使用图像进行检查。
或者尝试使用 embed($pathToImage) }}">
使用 public_path()
代替 url()
或 assets()
。 public_path()
对我有用。
在我的邮件模板中,我使用了如下图片路径:
<img src="{{ URL::to('/images/logo.png') }}" alt="logo" download="false" style="width:50%">
它正在处理普通邮件(没有队列),但不适用于队列中的邮件。
通过检查邮件中的元素,我发现正常邮件图像路径如下:
https://app.site_domain.com/images/logo.png //as expected
但是邮件队列是:
http://localhost/images/logo.png
尝试像这样使用 url
助手:{{ url('/images/logo.png') }}
您必须为您的应用程序设置一个 URL 以便控制台命令知道什么 URL 用于您的应用程序生成 URL 因为没有网络服务器传递请求信息。
您可以为此在 .env
文件中设置 APP_URL
。
APP_URL=https://app.site_domain.com
默认设置为 http://localhost
,这就是出现的原因。
如果您的配置被缓存,您将需要清除它或再次缓存它:
php artisan config:cache
您最有可能需要停止队列工作人员,(使队列工作人员在处理任何当前作业后死亡的命令):
php artisan queue:restart
然后你可以重新启动它们,或者希望你有一些东西监视这些进程并在它们死后重新启动它们。
假设您已将 .env 从本地主机更新为 app.site_domain.com,而队列工作程序为 运行,您可能需要重新启动主管/工作程序队列。清除和重新缓存配置不会更新 supervisor 中的设置(当然,如果您使用 supervisor 来管理队列)。
您无法从 local.You 获取图像,应该将此图像上传到服务器。然后提供该服务器图像 link。现在您可以通过电子邮件获取此图像。 您可以使用图像进行检查。 或者尝试使用 embed($pathToImage) }}">
使用 public_path()
代替 url()
或 assets()
。 public_path()
对我有用。